Objective-C играть звук - PullRequest
       2

Objective-C играть звук

4 голосов
/ 12 ноября 2011

Я знаю, как воспроизводить mp3-файлы и еще много чего в Xcode iOS. Но как мне воспроизвести определенную частоту, например, если я просто хотел испустить ноту C # в течение 25 секунд; как я могу это сделать? (Синтез для меня не так важен, как просто нота.)

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Вам необходимо сгенерировать звуковую волну PCM, соответствующую ноте, которую вы хотите воспроизвести, и сохранить ее в буфере семплов в памяти. Затем вы отправляете этот буфер на аудиооборудование.

Здесь - учебное пособие по генерации сигналов нескольких типов. В статье подробно рассматриваются многие аспекты заметки, которую необходимо учитывать, включая частоту, объем, форму сигнала, частоту дискретизации и т. Д. Статья поставляется с исходным кодом Flash, я думаю, у вас не должно возникнуть проблем с принятием концепций и адаптируя их к iOS.

Если вам также нужна библиотека, которую вы можете использовать для воспроизведения сгенерированных буферов на iOS, то я рекомендую открытый код Finch .

Надеюсь, это поможет!

0 голосов
/ 12 ноября 2011

Вы можете синтезировать сигналы желаемой частоты и передавать их в обратные вызовы либо аудио-очереди, либо API-интерфейса аудиоустройства RemoteIO.

Вот краткое руководство по части кода, необходимого для создания синусоидальных тонов для iOS в C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...