Слушать чистые тона в Cocoa Touch - PullRequest
1 голос
/ 24 июня 2009

Я видел бесчисленное количество информации о том, как воспроизводить звуковой файл, но как я могу сгенерировать определенный звуковой тон (или несколько) на данном герце в касании какао?

Ответы [ 3 ]

2 голосов
/ 24 июня 2009

Один простой способ: вы нашли пример кода для воспроизведения аудиофайлов. Ваш аудио файл может быть синусоидальным. Вы можете изменить скорость воспроизведения.

Есть и другие способы управления собственными буферами.

1 голос
/ 24 июня 2009

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

Для создания реальной синусоиды вы можете использовать что-то вроде this в качестве обратного вызова рендеринга (код на самом деле для Mac, но обратный вызов рендеринга должен работать на телефоне)

0 голосов
/ 29 мая 2013

Пример Мэтта Галлахера поможет вам:

«Генератор тонов iOS (введение в AudioUnits)»

...