【发布时间】:2009-02-21 04:08:56
【问题描述】:
有人可以帮我使用 iPhone 上的 AudioQueue 服务来播放特定频率(例如 440 Hz)吗?我已经查看了文档,但我似乎无法弄清楚如何去做。 Apple 的示例代码也对我没有太大帮助。
谢谢!
【问题讨论】:
有人可以帮我使用 iPhone 上的 AudioQueue 服务来播放特定频率(例如 440 Hz)吗?我已经查看了文档,但我似乎无法弄清楚如何去做。 Apple 的示例代码也对我没有太大帮助。
谢谢!
【问题讨论】:
/Developer/Examples/CoreAudio/SimpleSDK/DefaultOutputUnit 提供了如何以给定频率和采样率播放音调的示例。
我基本上复制了代码(也使用了来自this blog entry 的一些代码),它在 iPhone 上基本上没有任何变化。
【讨论】:
做到这一点并不难。查看 AudioQueue 示例。如果您查看播放音频文件的代码,您将只是这样做,除非没有实际读取文件。
您只需将采样率除以您的频率,计算一个正弦波,然后将这些值输入到您的播放回调函数中的音频队列中。
【讨论】:
好吧,这有点蹩脚,但如果没有人想出真正的答案,你可以预先录制一个正弦波并循环它。如果剪得好,它应该玩得很好。当然,这种响应只有在您只有几个不同的频率可以播放时才有效。
【讨论】: