我有播放和停止按钮,我想将它们组合成一个按钮,它有两个功能。但是,我找不到任何WhilePlaying()或AfterPlay()事件。我搜索了一些,我发现使用线程可以控制我想要的事件。
这就是我想要的。当用户点击“播放”按钮时,“播放”图标将变为“停止”图标,用户将立即停止播放,或者如果声音播放完毕,“停止”图标将变为“播放”图标。
以下是我在程序中使用的代码:
private void btPlayFile_Click(object sender, EventArgs e)
{
try
{
wavPlayer = new SoundPlayer();
string promptPath = System.Configuration.ConfigurationSettings.AppSettings["PromptStorage"];
wavPlayer.SoundLocation = promptPath + tePromptFile.Text;
wavPlayer.LoadCompleted += new AsyncCompletedEventHandler(wavPlayer_LoadCompleted);
wavPlayer.LoadAsync();
}
catch (Exception ex)
{
XtraMessageBox.Show("PlayFile Hata:" + ex.Message);
}
}
void wavPlayer_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
try
{
((System.Media.SoundPlayer)sender).Play();
}
catch (Exception ex)
{
XtraMessageBox.Show("PlayFile Hata:" + ex.Message);
}
}
private void btStopFile_Click(object sender, EventArgs e)
{
try
{
wavPlayer.Stop();
}
catch (Exception ex)
{
XtraMessageBox.Show("PlayFile Hata:" + ex.Message);
}
}