iPhone Media Player Framework доступ к сырому файлу - PullRequest
2 голосов
/ 22 марта 2011

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

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

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

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

ура!

1 Ответ

2 голосов
/ 22 марта 2011

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

...