ビデオストリーミングアルゴリズムに取り組んでいます。ビデオ全体を画像の配列に分割しました。これで、各画像は時間に基づいてストリーミングされます (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 ループが実行されている場合、timer メソッドtimeCounterIncrementer
は実行されません。一方ではタイマー メソッドを実行し、他方では While ループを実行します。つまり、while ループとタイマー メソッドを並列に実行する方法は?