В низкоуровневом подходе используется CoreAudio с аудиоустройствами kAudioUnitSubType_RemoteIO
и kAudioUnitSubType_AU3DMixerEmbedded
.
SDK поставляется с некоторыми встроенными модулями CoreAudio - вы пока не можете реализовать свои собственные.
Хороший API для подключения этих устройств - AUGraph.
Поскольку вы не можете реализовать свои собственные аудиоустройства, которые визуализируют синусоидальную волну, вам придется использовать обратные вызовы рендеринга и прикрепить их к входной шине вашего микшерного блока.
Заполните AURenderCallbackStruct
и подключите его к графику с помощью AUGraphSetNodeInputCallback
Для создания реальной синусоиды вы можете использовать что-то вроде this в качестве обратного вызова рендеринга (код на самом деле для Mac, но обратный вызов рендеринга должен работать на телефоне)