2012-11-18 60 views
2

我使用Monotouch和C#为iOS制作War Game。我遇到了音频声音效果的问题。Monotouch C#在音量控制中同时播放很多声音

这是我需要:同时播放多个声音效果的能力(可能高达10-20一次),并调节音量(例如,如果用户放大战场枪声的能力音量变大)。

这里是我的问题:

随着AVAudioPlayer,我可以调整音量,但我只能发挥每个线程1周的声音。所以如果我想播放多种声音,我必须有几十个和几十个线程才会重叠......这是一场战争游戏,图片20战士在战场上。每个士兵在射击时都会有一个“声线”来发射枪声,因为每个士兵都有可能在同一时间发生枪击事件。我在制作大量线程方面没有问题,但是我的游戏已经有几十个线程在运行,并且增加了几十个线程会让我陷入麻烦......对吧?所以,我宁可不走这条道路,除非我也有太多的线索......

随着SystemSound,我可以发挥尽可能多的声音,我想在同一个线程,但我无法调整音量....所以我的工作就是为了我的每一个音效 - 在4个不同的音量下保存4次。这是一个很大的痛苦...任何方式来调整与SystemSounds音量?

这两个答案都满足我的一些要求,但似乎都不是无缝配合。我应该去AVAudioPlayer多线程噩梦之路吗?或SystemSound多文件与不同音量级别的噩梦之路?还是有更好的方法来做到这一点?

在此先感谢。

+0

“但我的游戏已拥有几十家都在运行线程” - 真的吗?这是为什么? –

+0

每个士兵有两个线程。一个“移动”线程负责将士兵移到战场周围。还有一个负责士兵“扫描”,“瞄准”,“射击”,“重新加载”等的“接合”线程......它们是独立的线程,因此每个士兵都可以独立于下一个进行操作。所以如果战场上有20名士兵,那就是40个线程...... 50个士兵,100个线程。现在我正在寻找可能为每个士兵添加音频线程...... – LampShade

回答