Objective-C 播放声音

Posted

技术标签:

【中文标题】Objective-C 播放声音【英文标题】:Objective-C play sound 【发布时间】:2011-11-12 18:15:19 【问题描述】:

我知道如何在 Xcode ios 中播放 mp3 文件等等。但是我如何播放某个频率,比如我只想发出一个 C# 音符 25 秒;我该怎么做? (合成器对我来说并不像音符的音高那么重要。)

【问题讨论】:

***.com/questions/1399501/generate-dtmf-tones 这有帮助吗? (如果我一开始对你的理解正确,我正在考虑用 C# 创建音调.. ;)) 在这种情况下,C# 是一种音符,而不是一种语言。他明确要求在 iOS 上使用这个。 【参考方案1】:

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

Here 是生成多种类型波形的教程。文章详细介绍了你需要考虑的许多方面,包括频率、音量、波形形状、采样率等。文章附带Flash源代码,我认为你应该没有问题并使其适应 iOS。

如果你还需要一个可以用来在 iOS 上播放生成的缓冲区的库,那么我推荐开源的Finch。

我希望这会有所帮助!

【讨论】:

太棒了!闪光棒棒哒! Actionscript 2 是我学习编程的基础!很棒的语言!是的,我应该能够很容易地,再次感谢!那太棒了! :)【参考方案2】:

您可以合成所需频率的波形并将它们提供给音频队列或 RemoteIO 音频单元 API 的回调。

这里有一个简短的教程,介绍了 C 中 create sine wave tones for iOS 所需的一些代码。

【讨论】:

以上是关于Objective-C 播放声音的主要内容,如果未能解决你的问题,请参考以下文章

您如何使用 Objective-C 让声音文件自动播放到 iOS 应用程序并循环播放?

快速自动播放声音

UIButton - 如何让它播放声音

通过 iPhone 从 Apple Watch 播放声音

如何在 iPhone 应用程序中播放声音

在 Objective-C 中无延迟播放音效