Вам потребуется использовать API-интерфейс AudioQueue более низкого уровня и использовать AudioSession API для настройки аудио-сеанса.
Затем вам нужно будет заполнить структуру AudioStreamBasicDescription
и создатьновая входная очередь с AudioQueueNewInput()
и включающая функцию обратного вызова для обработки входных буферов.
А затем вам нужно будет создать 3 буфера, используя AudioQueueAllocateBuffer()
и AudioQueueEnqueueBuffer()
.И только тогда вы будете готовы позвонить AudioQueueStart()
.Вы также должны обрабатывать прерывания аудио-сеанса и обрабатывать остановку аудио-очереди.
Это просто даст вам поток буферов, содержащих несжатые 16-битовые целочисленные аудиоданные PCM.Вам по-прежнему нужно сжимать данные, что является еще одним источником червей, который включает использование AudioConverter
API, чего я не делал на iPhone OS, поэтому я не знаю, что там будет работать.