Как я могу получить музыкальный файл библиотеки iPod в AVAudioPlayer?
В SDK не предусмотрено чтение файлов из библиотеки iPod (как это необходимо для использования AVAudioPlayer
с ним), возможно, из антипиратских соображений. Для воспроизведения элементов библиотеки iPod используйте класс MPMusicPlayerController
.
Правка: Это уже неточно. Смотрите ответы ниже, которые описывают использование класса AVPlayer.
. Есть ли возможность получить информацию о дБ -измеритель в MPMusicPlayerController
? Возможно, запуск AVAudioSession
для параллельной записи сработает ?? Мне нужны значения в дБ, чтобы построить какой-то объемный спектрограф.
Да, вы можете воспроизводить песни из библиотеки iPod с помощью SDK, не прибегая к классу MPMusicPlayerController
.
Более простой класс AVPlayer
может обрабатывать аудиофайлы из библиотеки iPod, используя значение NSUrl
из свойства песни MPMediaItemPropertyAssetURL
. Вам нужно проделать намного больше работы, чтобы все было правильно настроено, но это можно сделать.
Как упоминает Дэвид, есть еще кое-что, что нужно сделать, чем это, например, вам нужно управлять воспроизведением следующей дорожки в коллекции элементов мультимедиа, но вот один из способов сделать это с помощью набора элементов MPMediaItems, выбранных пользователем в средстве выбора iPod. AssetURL - это то, что вы используете, он дает вам путь к файлу 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];