そのため、AVI ファイルからフレームを取り出し、それらのクローンを作成し、それらを配列に格納するコードをここに示します。数百回後、「パラメーターが無効です」というエラーが表示されます。私は答えを探し回りましたが、すべての答えは、何かが一度は機能するが、その後は機能しない場合のものです。これは、このエラーが発生する前に、平均してこれらの行を 490 回実行します。ここで何が問題なのか教えていただけないでしょうか?また、 file = null は実際にはコードの後半で値を持つように変更されています。
ヘルプ: AForge.Video.VFW を使用しています。AVIWriter と Reader の場合、別のスレッドでその void を呼び出しています。
これで十分でない場合は申し訳ありません。これは私がここで尋ねた最初の質問です。
AVIWriter writer = new AVIWriter("wmv3");
AVIReader reader = new AVIReader();
string file = null;
Bitmap[] AVIImages = new Bitmap[1];
int imagesProcessed = 0;
double progressValue = 0;
private void getImages()
{
reader.Open(file);
while (reader.Position - reader.Start < reader.Length)
{
Application.DoEvents();
AVIImages[imagesProcessed] = (Bitmap)reader.GetNextFrame().Clone();
imagesProcessed++;
progressValue = (int)((double)imagesProcessed / (double)reader.Length * 100);
Array.Resize(ref AVIImages, imagesProcessed + 1);
Thread.Sleep(10);
}
reader.Close();
picWaiting.Visible = false;
lblWaiting.Text = "Done!";
timeUpdateProgressBar.Stop();
}