我正在使用 Monotouch 和 C# 为 iOS 制作战争游戏。我在音频音效方面遇到了一些问题。
这就是我需要的:同时播放许多音效的能力(一次可能多达 10-20 个)和调节音量的能力(例如,如果用户在战场上放大,枪声音量会变大)。
这是我的问题:
使用 AVAudioPlayer,我可以调整音量,但每个线程只能播放 1 个声音。所以如果我想播放多个声音,我必须有几十个线程,以防它们重叠......这是一个战争游戏,想象战场上的 20 名士兵。每个士兵在射击时都会有一个“声音线程”来播放枪声,因为每个士兵都可能恰好在同一时间开火。制作大量线程没有问题,但我的游戏已经有几十个线程一直在运行,再添加几十个线程可能会给我带来麻烦……对吗?所以我宁愿不走这条增加几十个线程的路,除非我也有......
使用 SystemSound,我可以在同一个线程中播放任意数量的声音,但我无法调节音量....所以我在这里的工作是,对于我拥有的每种声音效果 - 在 4 处保存 4 次不同的卷。这是一个很大的痛苦......有什么方法可以使用 SystemSounds 调整音量?
这两个都回答了我的一些要求,但似乎都不是天衣无缝的。我应该走 AVAudioPlayer 多线程噩梦之路吗?还是 SystemSound 多文件、不同音量级别的噩梦之路?还是有更好的方法来做到这一点?
提前致谢。