如何让iPhone产生指定频率和幅度的声音?

时间:2011-11-18 14:06:36

标签: iphone ios cocoa-touch core-audio

我需要我的iPhone在短时间内产生指定频率和幅度的恒定声音。然后我可以通过耳机听到声音。我该怎么办?

2 个答案:

答案 0 :(得分:1)

最简单的方法是回放已经达到所需频率的样本。如果您使用OpenAL,则可以将音高从一半调整为两倍。所以,假设你有一个哔哔声样本,你知道它是440Hz,那么OpenAL允许你重现220Hz - 880Hz的哔哔声。对于连续音,我将使用另一个样本,再次以已知频率但适合循环播放并再次播放(再次使用OpenAL)。

任何合成器都应该能够以已知频率再现基本音调。如果您可以访问Sound Forge,可以使用Tools / Synthesis / Simple生成简单的音调。

这是一个可以帮助您的链接

http://atastypixel.com/blog/using-remoteio-audio-unit/

答案 1 :(得分:1)

使用音频队列或RemoteIO音频单元API。使用适当频率正弦波的样本填充回调缓冲区:

buffer[i] = myVolume * sinf( twoPiFrequencyOverSampleRate * i );

保存回调之间的阶段以避免点击。