Вопрос

Как я могу загрузить музыкальный файл из библиотеки iPod в AVAudioPlayer?

Это было полезно?

Решение

SDK не предусматривает чтения файлов из библиотеки iPod (что вам нужно было бы сделать, чтобы использовать AVAudioPlayer с ним), вероятно, по соображениям борьбы с пиратством.Для воспроизведения элементов библиотеки iPod используйте MPMusicPlayerController класс.

Редактировать:Это уже не совсем точно. Смотрите приведенные ниже ответы, в которых описывается использование класса AVPlayer.

Другие советы

Как упоминает Дэвид, предстоит проделать еще больше работы, например, вам нужно управлять воспроизведением следующего трека в коллекции мультимедийных элементов, но вот один из способов сделать это с помощью набора MPMediaItems, выбранного пользователем в окне выбора iPod.assetURL - это то, что вы используете, оно дает вам путь к файлу MP3 (напримербиблиотека ipod://item/item.mp3?id=-6889145242935454020)

NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];                      
[self.audioPlayerMusic play];

Да, вы можете воспроизводить песни из библиотеки iPod с помощью SDK, не прибегая к MPMusicPlayerController класс.

Чем более базовым AVPlayer класс может обрабатывать аудиофайлы из библиотеки iPod с помощью NSUrl ценность из песни MPMediaItemPropertyAssetURL собственность.Вам придется проделать гораздо больше работы, чтобы все настроить должным образом, но это можно сделать.

Есть ли какая-либо возможность получить информацию о dB-measuring в MPMusicPlayerController?Возможно, инициируя AVAudioSession ибо параллельная запись справилась бы с этой задачей??Мне нужны значения dB для построения какого-то объемного спектрографа.

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
    NSURL *url = [[mediaItemCollection.items objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL];

    NSError *error;
    self.player = [[AVAudioPlayer alloc] url error:&error];

    if (!error) {
        [self.player prepareToPlay];
        [self.player play];
    }

    [mediaPicker dismissModalViewControllerAnimated:YES];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top