gpt4 book ai didi

c# - 如何使用MediaPlayer C#停止声音

转载 作者:行者123 更新时间:2023-12-03 00:34:02 24 4
gpt4 key购买 nike

我具有此功能,并且必须使用MediaPlayer,因为我必须一起播放更多声音。这段代码有效,但是声音不会在键盘上停止(我尝试了一些代码,但是没有起作用)。我该如何停止功能?
谢谢!

private void Form1_KeyDown(object sender, KeyPressEventArgs e)
{
[...] // Other code
playSound(key, name);
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
[...] // Other code
stopSound(key, name);
}

private void playSound(string name)
{
[...] // Other code
string url = Application.StartupPath + "\\notes\\" + name + ".wav";
var sound = new System.Windows.Media.MediaPlayer();

sound.Open(new Uri(url));
sound.play();
}

private void stopSound(string name)
{
???
}

最佳答案

如果您存储所有在MediaPlayer中创建的List<MediaPlayer>实例的引用,则可以稍后使用此列表访问它们并停止它们。像这样:

List<System.Windows.Media.MediaPlayer> sounds = new List<System.Windows.Media.MediaPlayer>();
private void playSound(string name)
{
string url = Application.StartupPath + "\\notes\\" + name + ".wav";
var sound = new System.Windows.Media.MediaPlayer();
sound.Open(new Uri(url));
sound.play();
sounds.Add(sound);
}

private void stopSound()
{
for (int i = sounds.Count - 1; i >= 0; i--)
{
sounds[i].Stop();
sounds.RemoveAt(i);
}
}

关于c# - 如何使用MediaPlayer C#停止声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44317018/

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