在Cocoa Touch中播放纯色调

时间:2009-06-24 02:11:31

标签: objective-c cocoa-touch core-audio

我已经看过无数关于如何播放声音文件的信息,但是如何在可可触摸的给定赫兹下生成特定的音频音调(或几个)?

3 个答案:

答案 0 :(得分:2)

一种简单的方法:您找到了播放音频文件的示例代码。您的音频文件可以是正弦波。您可以更改播放速率。

如果您去管理自己的缓冲区,还有其他方法。

答案 1 :(得分:1)

低级方法是将CoreAudio与kAudioUnitSubType_RemoteIOkAudioUnitSubType_AU3DMixerEmbedded音频单元配合使用。
SDK附带了一些内置的CoreAudio单元 - 您无法实现自己的单元。
连接这些单元的一个很好的API是AUGraph 由于您无法实现自己的渲染正弦波的音频单元,因此您必须使用渲染回调并将它们连接到调音台的输入总线。
填写AURenderCallbackStruct并使用AUGraphSetNodeInputCallback

将其与您的图表相关联

要生成实际的正弦波,您可以使用类似this之类的渲染回调(代码实际上适用于Mac,但渲染回调应该可以在手机上使用)

答案 2 :(得分:0)

Matt Gallagher的example会帮助你:

" iOS音频发生器(AudioUnits简介)"