NAudio -停止WaveOut播放
本文关键字:播放 WaveOut 停止 NAudio | 更新日期: 2023-09-27 18:11:14
我使用Naudio为一个winform项目,当第一个表单加载它基本上调用另一个表单并初始化一个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 WaveOut(wHandle);
wo.DeviceNumber = 0;
// etc...
}
Form2_Load()
{
wo.Play();
}
一切都在工作,声音都正确播放,但我需要能够点击一个按钮来停止(暂停)音频有限的时间,然后恢复它。再一次,这是正确的工作,但只有当我加载form2的一个实例,只要我加载它的第二个实例,并尝试停止音频上的第一个创建的form2的实例,它挂起,而第二个保持功能。我需要一种方法来停止音频的形式,而不挂另一个,在相同的设备编号。
不要将句柄传递给WaveOut
-默认构造函数将为每个实例创建一个单独的句柄,因此它们的消息不会混淆