[英]Thread doesn't run in background
我正在嘗試在新線程中播放聲音,以便在播放時其他聲音不會打斷它。
但這是行不通的。 盡管新線程在后台運行(我認為),但隨后播放的聲音會中斷它。
ParameterizedThreadStart pts;
Thread t;
private void playStreak(Object p)
{
SoundEffect sound = SoundEffect.FromStream(Application.GetResourceStream(new Uri("SOUNDFX/BOMB.wav", UriKind.Relative)).Stream);
SoundEffectInstance instance = sound.CreateInstance();
instance.Play();
}
private void playAsThread()
{
pts = new ParameterizedThreadStart(playStreak);
t = new Thread(pts);
t.Name = "Streak sound!";
t.Start();
}
我想播放各種聲音而不互相干擾。
我認為您不需要使用線程。 您一次可以擁有16個SoundEffectInstances。 這還不夠嗎?
檢查此示例 。
它們僅包含三個SoundEffect
實例。
private SoundEffect coyoteSound;
private SoundEffect birdSound;
private SoundEffect ambienceSound;
並通過某些事件播放它們。
如果確實需要使用線程,請使用BackgroundWorker 。 很好,很容易!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.