我有播放和停止按钮,我想将它们组合成一个按钮,该按钮具有两种功能。但是,我找不到任何 WhilePlaying() 或 AfterPlay() 事件。我用谷歌搜索了一些,我发现使用Thread可以控制我想要的事件。
这就是我想要的。当用户单击播放按钮时,播放图标将变为停止图标,用户将能够立即停止播放,或者如果声音播放完毕,停止图标将变为播放图标。
以下是我在程序中使用的代码:
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);
}
}