AVPlayer не играет из музыкальной библиотеки

Я пытаюсь воспроизвести песню из музыкальной библиотеки iPhone с помощью AVPlayer. Кажется, все готово для воспроизведения, но проигрыватель просто не издает никаких звуков. Некоторое время я боролся с этим, любая помощь будет принята с благодарностью!

Примечание: я понимаю, что мог бы использовать 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 ready to play");
}];

Выходные данные «Готовы к игре» и «Оценить» свойство AVPlayer равно 1.0 после того, как я вызываю метод play. MPMediaItem существует, и я могу использовать метод valueForProperty для получения правильного заголовка, исполнителя и т. Д. Есть идеи, почему из плеера не поступает звук?

Ответы на вопрос(2)

Ваш ответ на вопрос