[ios] 從cocos2d應用程序播放iTunes的歌曲預覽



Answers

我有它的工作。 我改變的一件事是我從ARC拿出那個特定的課,以確保事情留在周圍。 這裡是我現在使用的代碼

    NSURL *url = [NSURL URLWithString:@"URL"];

    AVPlayerItem* playerItem = [AVPlayerItem playerItemWithURL:url];
    NSLog(@"The url is: %@", url);
    if(_player)
    {
        [_player release];
    }
    _player = [[AVPlayer playerWithPlayerItem:playerItem] retain];

    [_player play];

    _player.actionAtItemEnd = AVPlayerActionAtItemEndNone;

_player是一個AVPlayer對象

Question

我正在嘗試讓iTunes歌曲預覽在我的應用程序中播放。 我發現了一些其他的問題,但沒有解決方案為我工作。 我已經註冊了蘋果公司的聯盟計劃。 以下是我嘗試過的一些事情:

這讓我的iTunes預覽網址,我想

     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 is:%@",array);

         }
     });

這不起作用

    NSURL *url = [NSURL URLWithString:[_backgroundPreviewList objectAtIndex:randomPreview]];

    NSData *_objectData = [NSData dataWithContentsOfURL:url];
    NSError *error;

    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
    audioPlayer.numberOfLoops = 0;
    audioPlayer.volume = 1.0f;
    [audioPlayer prepareToPlay];

    if (audioPlayer == nil)
    {
        NSLog(@"%@", [error description]);
    }
    else
    {
        [audioPlayer play];
    }

這也沒有發揮

    AVPlayer* aPlayer = [AVPlayer playerWithURL:url];
    [aPlayer play];

我甚至試過這個不行的

    MPMoviePlayerController* player = [[MPMoviePlayerController alloc] initWithContentURL:url];
    [player play];

如果有人這樣做,他們可以讓我知道如何播放歌曲。




Links