2

Я заинтересован в использовании среды Media Player на iPhone для доступа к аудио в библиотеке пользователя. Я хочу иметь возможность загрузить данный аудиофайл, а затем выполнить некоторую специализированную фильтрацию.iPhone Media Player Framework, доступ к необработанному файлу

В идеале я хочу иметь возможность напрямую загружать аудиофайл (или его часть для потоковой передачи), а затем использовать службы аудиоконвертера для выполнения декомпрессии. Как только у меня есть линейные данные PCM, я хочу выполнить некоторую фильтрацию на нем перед подачей звука непосредственно в очередь аудио.

Возможно ли это на iPhone?

Если да, может ли кто-нибудь сказать мне, как я могу получить доступ к аудиофайлу напрямую? Это просто вопрос использования «URL» для загрузки его с помощью NSFile (предположительно, я получаю это через MPMediaItemPropertyAssetURL)? Или мне нужно сделать что-то более сложное?

Cheers!

ответ

2

URL-адрес, который вы получаете от MPMediaItemPropertyAssetURL, является URL-адресом библиотеки активов. Вы можете использовать его для инициализации AVURLAsset. Затем создайте AVAssetReader с активом и добавьте к нему AVAssetReaderOutput (экземпляры AVAssetReaderAudioMixOutput или AVAssetReaderTrackOutput, в зависимости от того, что вам нужно). Этот последний объект, наконец, даст вам доступ к мультимедийным данным (-copyNextSampleBuffer).