1

我一直在尝试研究能够在我的游戏中播放歌曲的 iTunes 预览。据我所知,您需要通过 Apple 及其附属计划。我发现了很多关于在网页而不是 ios 游戏中进行操作的问题和帮助。有没有人经历过这个或者已经能够在他们的游戏中获得 30 秒的预览?如果是这样,您可以指出我的方向或您认为有帮助的资源吗?

4

1 回答 1

2

我无法谈论这样做的合法性问题,或者您可能/可能不需要加入哪些程序,但我可以给您一个简单的示例,说明如何与iTunes Search API进行交互。实际上,这一切都非常简单,向服务器传递一个专门的格式化程序 URL 并获取有关查询结果的 JSON 数据。

NSUInteger numberOfResults = 200;
NSString *searchString = @"AC/DC";

NSString *encodedSearchString = [searchString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *finalSearchString = [NSString stringWithFormat:@"https://itunes.apple.com/search?term=%@&entity=song&limit=%u",encodedSearchString,numberOfResults];

NSURL *searchURL = [NSURL URLWithString:finalSearchString];

dispatch_queue_t iTunesQueryQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,  kNilOptions);

dispatch_async(iTunesQueryQueue, ^{

    NSError *error = nil;
    NSData *data = [[NSData alloc] initWithContentsOfURL:searchURL options:NSDataReadingUncached error:&error];

    if (data && !error) {
        NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

        NSArray *array = [JSON objectForKey:@"results"];
        NSLog(@"%@",array);

    }
});

收到 JSON 数据后,您会注意到每个结果都有一个名为“previewUrl”的键,该数据可以传递给您选择的播放器(我使用过MPMoviePlayerController),然后您所要做的就是调用 play!

于 2013-08-27T19:47:41.547 回答