小编Joh*_*hnG的帖子

AVPlayer无法从音乐库播放

我正在尝试使用AVPlayer从我的iPhone音乐库播放一首歌.一切似乎都准备好了,但玩家根本不会发出任何声音.我一直在努力解决这个问题,任何帮助都将不胜感激!

注意:我意识到我可以使用AVAudioPlayer,但我想直接从我的音乐库中读取文件,据我所知,AVAudioPlayer不支持(我必须首先导出歌曲,占用更多时间).我无法使用MPMusicPlayerController,因为最终目标是将歌曲转换为NSData并在另一台设备上播放.

最重要的是,我想知道为什么这段代码没有播放:

NSArray *itemsFromQuery = [[MPMediaQuery songsQuery] items];
MPMediaItem *song = [itemsFromQuery objectAtIndex:29];
NSURL *songURL = [song valueForProperty:MPMediaItemPropertyAssetURL];
AVURLAsset *urlAsset = [[AVURLAsset alloc] initWithURL:songURL options:nil];

NSArray *keyArray = [[NSArray alloc] initWithObjects:@"tracks", nil];

[urlAsset loadValuesAsynchronouslyForKeys:keyArray completionHandler:^{

    AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:urlAsset];

    AVPlayer *player = [[AVPlayer alloc] initWithPlayerItem:playerItem];

    while (true) {
        if (player.status == AVPlayerStatusReadyToPlay && playerItem.status == AVPlayerItemStatusReadyToPlay) {
            break;
        }
    }

    if (player.status == AVPlayerStatusReadyToPlay && playerItem.status == AVPlayerItemStatusReadyToPlay) {
        NSLog(@"Ready to play");
        [player play];
    }
    else 
        NSLog(@"Not …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c avplayer

5
推荐指数
1
解决办法
2721
查看次数

标签 统计

avplayer ×1

iphone ×1

objective-c ×1