Как воспроизвести файл библиотеки iPod в AVPlayer - PullRequest
11 голосов
/ 23 декабря 2009

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

Ответы [ 5 ]

20 голосов
/ 22 августа 2010

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

NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];                      
[self.audioPlayerMusic play];
5 голосов
/ 18 июля 2010

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

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

3 голосов
/ 23 декабря 2009

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

Редактировать: это больше не точно. См. Ответы ниже, которые описывают использование класса AVPlayer.

0 голосов
/ 21 декабря 2010
- (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];
}
0 голосов
/ 16 июня 2010

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

...