Ste*_*TNT 11 c# audio xna visual-studio-2012 windows-phone-8
我需要一种在声音仍在播放时启动/停止循环的方法.我发现一起播放多种声音的最佳方法是使用XNA.所以我SoundEffectInstance
从SoundEffect
包含音频剪辑的对象开始创建.现在问题是我有一个按钮,应该将此剪辑的状态从"循环"更改为"非循环",反之亦然.
这是问题:它抛出一个异常,说必须在第一次播放之前设置循环.所以我认为,在从"非循环"切换到"循环"时,我可以等待声音停止,然后重新创建SoundEngineInstance
,设置IsLooped = true
并再次启动.这个有效,但有一些延迟,这会让你失去你的时间,所以这是无用的.
我正在寻找的是一种在播放声音时设置或取消设置循环的方法,没有任何延迟.
编辑:
我尝试使用两个SoundEngineInstance
,一个循环,一个不循环,只需使用音量切换它们.问题是非循环播放只是在第一次播放后停止,所以如果我将它循环两次然后我将其置于非循环状态,则不播放声音,因为非循环剪辑已经结束!
建议?