问候,我试图播放一些音频文件,而不阻止GUI。以下是代码示例:C#线程队列同步
if (audio)
{
if (ThreadPool.QueueUserWorkItem(new WaitCallback(CoordinateProc), fireResult))
{
}
else
{
MessageBox.Show("false");
}
}
if (audio)
{
if (ThreadPool.QueueUserWorkItem(new WaitCallback(FireProc), fireResult))
{
}
else
{
MessageBox.Show("false");
}
}
if (audio)
{
if (ThreadPool.QueueUserWorkItem(new WaitCallback(HitProc), fireResult))
{
}
else
{
MessageBox.Show("false");
}
}
情况是样本未按顺序播放。有些在另一个之前播放,我需要解决这个问题,因此样品依次播放。
我该如何执行此操作?
谢谢。
编辑:ThreadPool.QueueUserWorkItem(new WaitCallback(FireAttackProc), fireResult);
我已经把我所有的声音片段在FireAttackProc。这是不行的,我想要的是:等到线程停止运行,然后再开始一个新的线程,这样样本不会重叠。
线程设计为同时执行任务,其他的以后打一个声音是不是并发执行。你有可能在独立的线程上播放声音,但不是_each_声音。佩托伊是正确的。 – 2010-03-28 19:01:53
也可以使用线程,以便在等待数据时主GUI线程不会冻结。这就是我想在这里做的。 – iTEgg 2010-03-28 20:56:27