iphone - 如何播放组合声音,就像从一群发声物体中发出一样

标签 iphone objective-c audio

假设我有 100 个“squeaker”类的实例。每个“吱吱声”对象都能够单独发出吱吱声。每个 squeaker 实体使用相同的 .mp3 资源。当所有的吱吱声一起出现在屏幕上时(例如作为小角色),我希望它们都大约(但不完全)同时发出吱吱声,这样它们的组合吱吱声就会像一群吱吱声一样被听到。

针对 iOS,您推荐什么方法(和音频/声音框架)?有没有人这样做过?代码示例?

最佳答案

首先,不要使用MP3。 iPhone/iPod/iPad 对有损压缩声音/音频层的第一个实例使用硬件加速声音解码。自 iOS(我认为)3.0 以来,可以播放一种额外的有损压缩声音,但这会给 CPU 带来大量负载,因为它没有硬件加速。据我所知,这已经是 MP3 和 AAC 的限制。

作为个人的最爱,我建议将 OpenAL 与 RAW(未压缩)16 位音频文件结合使用。 OpenAL 非常直接、灵活且有据可查(在 Apple 的引用资料之外)。但是,您也会在那里遇到限制。据我所知,iOS 设备上的 OpenAL 限制同时播放 32 个语音。

关于iphone - 如何播放组合声音,就像从一群发声物体中发出一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5627590/

相关文章:

iphone - 如何将圆分成等份?

ios - 尝试在设备上运行我的应用程序时,找不到此可执行文件的有效配置文件

ios - 为什么代码没有被执行?

objective-c - Mac 10.6 及更高版本的可用启动磁盘空间错误

objective-c - NSRegularExpression 添加转义字符

javascript - 如何使用CheckBox或将按钮从一个 Activity 切换到另一个 Activity ,在android中打开或关闭一个特定的音频文件?

ios - 可点击的 UILabel

iphone - 核心数据; cocoa 错误 134100

audio - 如何将Midi文件与音频文件同步

linux - Sox(瑞士军刀)使用什么算法来消除静音和噪音