воспроизводить декодированные необработанные аудиоданные в iPhone - PullRequest
2 голосов
/ 03 апреля 2012

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

Спасибо тебе ...

1 Ответ

1 голос
/ 03 апреля 2012

Для этого вам понадобится Audio Services.Либо AudioQueue, либо AudioUnit.AudioQueue лучше для потоковых приложений.

Классический пример - для AudioQueue - SpeakHere от Apple .

Мэтт Галлахер также имеет несколько превосходных учебных пособий с примером кода дляпотоковое видео.

См. Повторная потоковая передача аудио MP3 / AAC .

Если вы хотите пойти по маршруту AudioUnit, см. Использование аудиоустройства RemoteIO .

Основывая свой код на образце Мэтта Галлахера, возможно, также используя SpeakHere, вы сможете воспроизводить свои декодированные пакеты.Смотрите мои другие ответы о том, как играть с использованием буфера, а не из файла.

Не забывайте, что это довольно сложный материал.Вы должны быть знакомы с буферами, указателями и т. Д. Убедитесь, что вы также понимаете фреймы, пакеты и т. Д.Ожидается некоторая боль в получении вашего аудио.

...