gpt4 book ai didi

c# - UI无法更新foreach循环C#WPF中首先播放的声音

转载 作者:行者123 更新时间:2023-12-03 01:36:31 25 4
gpt4 key购买 nike

我制作了一种纸牌游戏,可以使用foreach循环从UI中的资源中获取并显示玩家纸牌,效果很好。我最近还添加了卡声音,以便在UI中显示每个图像之前先播放声音。但是,总是先播放声音,然后再显示图像。有点烦人...

我使用声音播放器和playsync()。如何强制GUI更新? (在声音之间)

这是一些代码...

以。。开始

//loop
foreach (var player in playerGUIs)....
//Call the sound Card_Sound(); //See below

//Update image player.img1.Source = new BitmapImage(new
Uri(("/Utilities;Component/Resources/" + card_file + ".png"),
UriKind.Relative));


private void Card_Sound()
{ //Play sound System.Threading.Thread.Sleep(800); // First sleep 800 milliseconds

using (FileStream stream = File.Open(@"Resources\dealingcard.wav",
FileMode.Open)) {
SoundPlayer myNewSound = new SoundPlayer(stream);
myNewSound.Load();
myNewSound.PlaySync(); }

}

最佳答案

您是否尝试过Play(),PlaySync()会阻止UI(如果在UI线程上运行)?

关于c# - UI无法更新foreach循环C#WPF中首先播放的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577792/

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