在WP7 XNA中单击SoundEffect播放的开始和结束

时间:2012-06-05 02:20:43

标签: windows-phone-7 audio xna soundeffect

我正在循环播放此声音文件:http://engy.us/misc/ThrusterLoop.wav。它在Windows上可以在任意数量的播放器上完美播放,但是当我在XNA中将其作为SoundEffect加载时,它在播放的开始和结束时都会有这些恼人的点击。

如果我将它循环一段时间,它不会在中间执行任何这些恼人的点击。如果我将其作为独立声音播放,它仍然会在开始时单击。它正在模拟器和物理设备上进行此操作。

为什么这样做?我的声音文件有问题吗?这是一个16位立体声44.1 kHz PCM WAV文件,我认为这是非常标准的。

(edit2)我通过XNA捕获了通过播放产生的声音,并将其与原始波形进行了比较。看看:

http://engy.us/pics/Waveform_Original.png
http://engy.us/pics/Waveform_EmulatorXNA.png

有些东西搞砸了回放!两次大幅度的变化必定是我听到的咔嗒声。它似乎在某种程度上争夺第一位。一开始就保持沉默可能会帮助一些人,因为沉默不会产生任何咔嗒声。

1 个答案:

答案 0 :(得分:1)

使用像Audacity这样的程序来查看声音的波形。您可以通过正确排列波形来减少或消除“点击”,使其以0db标记(中心线)开始和结束。在Audacity中,您可以分别使用正面和背面的淡入和淡出来完成此操作,但这会导致声音的音量“脉冲”。为了解决这个问题,请尽可能放大并仅在正面和背面尽可能小的可选区域使用淡入/淡出。

需要注意的一点是,当波浪循环时,您希望波浪继续...波动。如果,如果你的波形指向声音的开头(它从0db开始向上),它应该从最后的下方到达0db,这样如果你要复制+粘贴声音在它自身之后,它形成一个漂亮的波浪,而不是一个高峰。