gpt4 book ai didi

c# - 停止播放通过 SoundEffect.FromStream 调用的声音

转载 作者:可可西里 更新时间:2023-11-01 13:51:11 24 4
gpt4 key购买 nike

我有一些使用 SoundEffect.FromStream 开始播放声音的 Windows Phone 7 代码。我正在使用它而不是普通的媒体对象,因为我需要在一页上显示多个音频剪辑。

但是,基于某些外部事件,我想停止播放特定的声音。由于通过 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;
}
}

最佳答案

您需要创建一个 SoundEffectInstance这将存储对您的 SoundEffect 的引用。 SoundEffectInstance 有一个可以调用的 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();

关于c# - 停止播放通过 SoundEffect.FromStream 调用的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com