4
我试图停止一个提示,然后再播放一次。此代码是在更新()循环:C#XNA:停止并播放提示(声音)对象
Cue torpedoSound = soundBank.GetCue("torpedo");
torpedoSound.Stop(AudioStopOptions.AsAuthored);
torpedoSound.Play(); // Invalid Operation Exception
但是,我总是在上述地点得到InvalidOperationException
。该文档说,如果在Cue
上调用Play()
,isPlaying
为真,则会发生这种情况。但是,如果我之前立即拨打Stop()
,这怎么可能?
这工作得很好:
soundBank.PlayCue("torpedo");
发出呼叫Stop()
,使声音后,立即反正玩,这让我惊讶:
soundBank.PlayCue("torpedo");
torpedoSound.Stop(AudioStopOptions.Immediate);
不应该这样做它永远不会发出声响给用户?
此外,当声音已播放时,呼叫Stop()
无法停止它。
我是C#/ XNA的新手。
我不明白,你说你叫Stop的时候它已经停了,为什么?那么你说你打电话停止,因为它在播放,你想停止它?请你解释一下 – Amirshk 2010-02-04 03:49:50
声音还没有播放,但我叫'Stop()'是安全的。但不知何故,它仍然给我一个例外,就好像它在玩。 – 2010-02-04 04:00:02