C# 在关闭窗体之前播放声音

C# Playing sound before closing form

我尝试在关闭程序之前播放声音。我为我的退出按钮设置了那个声音。这是我的代码(我使用了库 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();
}

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

您的问题是 WindowsMediaPlayer.Play returns 立即。

您应该像这样订阅状态更改事件:

btnPlayer.PlayStateChange += this.PlayStateChange;

还有:

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

全部here