我有一些 Windows Phone 7 代码,可以使用 SoundEffect.FromStream 开始播放声音。我使用它而不是普通的媒体对象,因为我需要多个音频剪辑位于一页上。
但是,根据某些外部事件,我想停止播放特定的声音。由于通过 Open Stream 播放的声音是“播放后忘记”,我无法弄清楚如何引用此播放声音并停止它。
public void PlaySoundCircus(object sender, RoutedEventArgs e)
{
if (audioPlaying == false)
{
using (var stream = TitleContainer.OpenStream("circus.wav"))
{
var effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();
}
audioPlaying = true;
}
}
你需要创建一个声音效果实例这将存储对您的引用SoundEffect
. The SoundEffectInstance
has a Stop
可以调用的方法。
SoundEffectInstance seiCircus;
using (var stream = TitleContainer.OpenStream("circus.wav"))
{
var effect = SoundEffect.FromStream(stream);
//create the instance
seiCircus = effect.CreateInstance();
FrameworkDispatcher.Update();
//play sound via the instance
seiCircus.Play();
}
//some event called to stop sound
seiCircus.Stop();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)