和弦声音播放

发布于 2024-07-09 08:58:20 字数 463 浏览 8 评论 0原文

我需要具有以下功能的音频播放:良好的性能(对于游戏)、音调控制以及同时多次分层同一样本的能力(复调)。 在 iphone sdk 上获取此内容的快速方法是什么?


到目前为止,我发现的是:

没有可用的库或示例代码可以执行此操作,请告诉我错误。

SoundEngine.cpp(来自 CrashLanding 和 TouchFighter 代码示例)使用 OpenAL 并允许控制音调,但每次启动缓冲区时,如果正在播放同一缓冲区,其播放头会返回到开头。

使用 SoundEngine.cpp 获得复调音乐的一种肮脏的解决方案是为同一个声音文件加载多个缓冲区,而不深入其实现(这对我来说是不可理解的)。 假设我想要每个声音最多 4 个声音的复调,然后我为同一个文件加载 4 个缓冲区。 我只需要把这一切都包含在经理课程中即可。 走这条路安全吗? 和/或有没有办法将 SoundEngine.cpp 修改为复调?

I need audio playback with these features: good performance (for game), pitch control, and ability to layer the same sample multiple times at the same time (polyphony). What would be a quick way to get this on the iphone sdk?


Here's what I found out so far:

There's no available libraries or sample code that does this, please show me wrong.

SoundEngine.cpp (from CrashLanding and TouchFighter code samples) uses OpenAL and allows to control pitch, but everytime a buffer is started, if that same buffer is playing, its playhead goes back to the start.

One dirty solution to get polyphony with SoundEngine.cpp, without diving into its implementation (which is incomprehensible to me), is to load multiple buffers for the same sound file. Let's say I want a polyphony of maximum 4 voices per sound, then I load 4 buffers for the same file. I would just have to wrap it all up in a manager class. Is it safe to go down this path? And/or is there a way to hack the SoundEngine.cpp to be polyphonic?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘦怹 2024-07-16 08:58:20

FMOD (www.fmod.org) 提供所有这些功能。 在文档中查看他们的复调虚拟声音示例和变调 DSP 效果。

我只是一个客户,与他们没有任何关系。

FMOD (www.fmod.org) provides all these features. Check out their virtualvoices sample for polyphony and the pitch shift DSP effect in the docs.

I'm just a customer, not otherwise affiliated with them.

橪书 2024-07-16 08:58:20

CrashLanding 中的声音引擎一团糟,我会远离它。 围绕 OpenAL 编写您想要的内容并不难,只需几个小时的工作。 您可以查看 FinchCocos 2D 声音引擎

The SoundEngine from CrashLanding is a mess, I’d stay away from it. Writing what you want around OpenAL is not hard, it’s a few hours of work. You can peek at Finch or at the Cocos 2D sound egine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文