C# NAudio-停止WaveOut播放
我在winform项目中使用Naudio,第一个表单基本上加载它 调用另一个表单并初始化WaveOut对象,将表单句柄传递给构造函数C# NAudio-停止WaveOut播放,c#,winforms,naudio,C#,Winforms,Naudio,我在winform项目中使用Naudio,第一个表单基本上加载它 调用另一个表单并初始化WaveOut对象,将表单句柄传递给构造函数 //in form 1 { Form2 frm2 = new Form2(); frm2.InitializeWaveOut(this.Handle); frm2.Show(); } //in form 2 public void InitializeWaveOut(IntPtr wHandle) { WaveOut wo = new W
//in form 1
{
Form2 frm2 = new Form2();
frm2.InitializeWaveOut(this.Handle);
frm2.Show();
}
//in form 2
public void InitializeWaveOut(IntPtr wHandle)
{
WaveOut wo = new WaveOut(wHandle);
wo.DeviceNumber = 0;
// etc...
}
Form2_Load()
{
wo.Play();
}
一切正常,声音播放正确,但我需要能够单击一个按钮,在有限的时间内停止(暂停)音频,然后继续播放。这再次正常工作,但仅当我加载form2的一个实例时,当我加载它的第二个实例并尝试停止创建的form2的第一个实例上的音频时,它将挂起,而第二个实例将继续工作。我需要一种方法来停止窗体上的音频,而不挂起另一个,在同一设备编号上。不要将句柄传递到WaveOut-默认构造函数将为每个实例创建单独的句柄,这样它们的消息就不会混乱