我用Win Forms Application在C#中製作了一種俄羅斯方塊遊戲。 我希望程序能夠在遊戲過程中循環播放一個.wav文件,而另一個短的.wav文件只是偶爾與「主」聲音平行。在WindowForms應用程序中播放兩個(或更多).wav聲音
SoundPlayer sp;
SoundPlayer sp2;
然後在FormLoad事件:
我在開始時宣佈
private void Form1_Load(object sender, EventArgs e)
{
...
sp2 = new SoundPlayer(".../tetris.wav");
sp2.PlayLooping();
...
}
然後儘可能塊的行消失,我想火炸彈聲:
sp = new SoundPlayer(".../bomb.wav");
sp.Play();
問題是:當第二個聲音被觸發時,第一個(主)聲音停止。我認爲這是一個線程問題,但我不知道如何解決這個問題。
謝謝菲利普
您可以使用[async/await](http://www.dotnetperls。com/async)或更舊的替代方法是[backgroundworker](http://www.dotnetperls.com/backgroundworker)。 – Arman
@ user3283415我的答案是否解決了您的問題? –
[同時播放2個聲音]可能的重複(http://stackoverflow.com/questions/4740262/playing-2-sounds-together-at-same-time) – DonBoitnott