解決了一個問題,另一個問題:在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