2009-02-21 143 views
4

有人可以帮助我使用iPhone上的AudioQueue服务播放某个频率(比如440赫兹)吗?我查看了文档,但似乎无法弄清楚如何去做。苹果的示例代码也没有太多帮助。在iPhone上播放频率

谢谢!

回答

4

/Developer/Examples/CoreAudio/SimpleSDK/DefaultOutputUnit有一个如何在给定频率和采样率下播放音调的示例。

我基本上复制了代码(也使用了一点this blog entry),它在iPhone上基本没有改变。

0

好吧,这是有点跛脚,但如果没有人提出真正的答案,你可以预先记录正弦波并循环它。如果切得好,它应该玩得很好。当然,如果你只有几种不同的频率可以播放,这个响应只会起作用。

1

这样做并不难。看看AudioQueue的例子。如果您查看播放音频文件的代码,您只需要这样做,除非没有真正阅读文件。

您只需将采样率除以频率,计算正弦波,然后将这些值送入播放回调函数中的音频序列。