【发布时间】:2012-10-08 07:03:06
【问题描述】:
我正在研究一种视频流算法。我已将整个视频分成一组图像。现在每个图像都将根据时间进行流式传输(Image.TimeInMs 表示图像流式传输或发送的时间)。为了保持时间我有System.Timer.Timer 对象。
_timer = new System.Timers.Timer(250);
_timer.Elapsed += new ElapsedEventHandler(timeCounterIncrementer);
_timer.Enabled = true;
for( i =0; i<imageArray.length;i++)
{
while (timeCounter < imageArray[i].TimeInMs)
{
StreamImage();
}
}
void timeCounterIncrementer(object sender, ElapsedEventArgs e)
{
timeCounter+=250;
}
在上面的代码中当while循环运行时定时器方法timeCounterIncrementer不会执行。我希望计时器方法一方面运行,另一方面运行 While 循环。换句话说,如何并行运行 while 循环和计时器方法?
【问题讨论】:
-
您可以使用线程并同步胎面吗?
-
我可以使用线程但不能同步。由于 while 循环和计时器都必须在其视频流上并行执行,因此时间准确性是主要要求。计时器值应与视频播放器的滑块值一致