NAudio - 停止 WaveOut 播放
Posted
技术标签:
【中文标题】NAudio - 停止 WaveOut 播放【英文标题】:NAudio - Stop WaveOut playback 【发布时间】:2014-07-03 13:08:22 【问题描述】:我正在将 Nadio 用于 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 的一个实例时,只要我加载它的第二个实例并尝试停止 first 创建的 form2 实例上的音频,它就会挂起,而第二个继续运行。我需要一种方法来停止表单上的音频,而无需在同一个设备编号上挂另一个。
【问题讨论】:
【参考方案1】:不要将句柄传递给WaveOut
- 默认构造函数将为每个实例创建一个单独的句柄,因此它们的消息不会混淆。
【讨论】:
以上是关于NAudio - 停止 WaveOut 播放的主要内容,如果未能解决你的问题,请参考以下文章