Mol*_*eim 0 c# forms audio multithreading
我有一些代码,用于显示一段时间的表格并播放声音.但表格保持开放.
static void Main(string[] args)
{
SoundPlayer sp = new SoundPlayer();
ShowImage(@"Resources\Fish.png", "Fish", 256, 256, 1000);
sp.SoundLocation = @"Resources\fish.wav";
sp.Play();
}
public static void ShowImage(string img, string title, int width, int height, int timeout)
{
ImageContainer ic = new ImageContainer();
ic.imgView.Image = Image.FromFile(img);
ic.Text = title;
ic.Size = ic.imgView.Image.Size;
ic.Height = height;
ic.Width = width;
ic.ShowDialog();
Thread.Sleep(timeout);
ic.Hide();
ic.Opacity = 0;
ic.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
它只是保持打开状态不关闭或隐藏.ImageContainer是一个带有PictureBox的窗体,名为imgView.我需要它在关闭之前超时1秒.
这条线:
ic.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
使表单以模式方式显示,以便该方法阻止并阻止其他所有内容运行,直到表单关闭.
将该行更改为:
ic.Show();
Run Code Online (Sandbox Code Playgroud)
这是非模态的,方法的其余部分将完成.