解决了一个问题,另一个问题:在C#程序中,我使用以下方法将标签颜色设置为绿色,然后播放mp3文件并最终将颜色设置为黑色。 问题在于声音似乎是在一个额外的线程中播放的,因此两种颜色变化之间的时间太短(实际上,播放文件时应该有绿色)。MP3在不同的线程中播放
private void playSound()
{
label1.ForeColor = Color.LimeGreen;
Application.DoEvents();
WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
wmp.URL = @"C:\examplesound.mp3"; // duration about 30s
wmp.controls.play();
label1.ForeColor = Color.Black;
}
有什么办法可以强制标签在播放mp3文件时保持绿色?
打败我,但我会将newState转换为'WMPLib.WMPPlayState',并比较它而不是使用幻数。例如'if(WMPLib.WMPPlayState)newState == WMPLib.WMPPlayState.wmppsStopped)' – Alan 2011-02-27 17:56:23
@Alan - 实际上。我正准备更新答案 – ChrisF 2011-02-27 17:58:31