2017-01-26 96 views
0

之前播放聲音我嘗試關閉我的節目之前播放聲音。我爲退出按鈕設置了聲音。這裏是我的代碼(我使用的庫WMPLib):C#閉形式

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

我的問題是:它會立即退出,不播放聲音。請幫忙!謝謝。

+0

使用'thread'或'異步method'播放聲音。當方法結束工作,然後關閉形式 –

+0

嘗試添加計時器與像第二然後關閉窗體 – mindOfAi

+0

爲什麼這條線被註釋掉:Thread.sleep代碼(2000); –

回答

1

你的問題是在緊接該WindowsMediaPlayer.Play回報。

你應該認購狀態改變事件是這樣的:

btnPlayer.PlayStateChange += this.PlayStateChange; 

還有:

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

這一切都here

+0

很靈的!謝謝你的幫助。 –