Objective-C播放声音

4

我知道如何在Xcode iOS中播放mp3文件等内容。但是,如果我想要发出特定频率的声音,例如只想要发出C#音符25秒,我该怎么做呢?(对于我来说,合成器并不像音符的音高那样重要。)


这可以帮到你吗?(如果我一开始理解你的意思是想在C#中创建音调.. ;) ) - thedanielhanke
2
在这个语境中,C#是一个音符,而不是一种语言。他明确表示他想要在iOS上实现这个。 - Miguel Grinberg
2个回答

1

你需要生成对应于所需播放音符的PCM音频波形,并将其存储到内存中的样本缓冲区中。然后,将该缓冲区发送到音频硬件。

这里有一个关于生成几种类型波形的教程。该文章详细介绍了需要考虑的音符的许多方面,包括频率、音量、波形形状、采样率等。该文章附带Flash源代码,我认为您可以轻松掌握这些概念并将其适应于iOS。

如果您还需要一个库来在iOS上播放生成的缓冲区,则我建议使用开源Finch

希望这能帮到您!


太棒了!Flash非常好!Actionscript 2是我学习编程的语言!非常棒的语言!是的,我应该能够很容易地做到,再次感谢!太好了! :) - Albert Renshaw

0

您可以合成所需频率的波形,并将它们馈送到音频队列或RemoteIO音频单元API的回调函数中。

这里有一个简短的教程,介绍了在C语言中创建iOS正弦波音调所需的一些代码(创建iOS正弦波音调)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接