C#关闭表格前播放声音

时间:2017-01-26 08:36:40

标签: c# audio formclosing

我在关闭程序之前尝试播放声音。我为退出按钮设置了声音。这是我的代码(我使用了库 WMPLib ):

private void button1_Click(object sender, EventArgs e)
{
        WindowsMediaPlayer btnPlayer = new WindowsMediaPlayer();
        btnPlayer.URL = "Wrong.wav";
        btnPlayer.controls.play();
        //Thread.Sleep(2000); 
        this.Close();
}

我的问题是:它立即退出并且不播放声音。请帮忙!谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题是WindowsMediaPlayer.Play立即返回。

您应该订阅状态更改事件,如下所示:

btnPlayer.PlayStateChange += this.PlayStateChange;

然后:

private void PlayStateChange(int NewState)
{
    if ((WMPLib.WMPPlayState)NewState == WMPLib.WMPPlayState.wmppsStopped)
    {
        this.Close();
    }
}

全是here