";参数无效“;从avi文件获取帧时

本文关键字:文件 获取 avi quot 参数 无效 | 更新日期: 2023-09-27 18:27:28

所以我在这里有这个代码,它从AVI文件中提取帧,对它们进行克隆,并将它们存储在数组中。几百次后,我收到一个错误,说"参数无效"。我四处寻找答案,但所有的答案都是关于某个东西工作过一次,但后来又不工作了。在该错误发生之前,该程序平均执行这些行490次。我想知道你们中是否有人能告诉我这里出了什么问题?此外,文件=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();
}

";参数无效“;从avi文件获取帧时

C#"参数无效"创建新位图

这似乎就是为什么会发生这种情况——位图上浪费了太多内存,无法同时存储太多位图。

你说你创建了490个位图。。找出限制,然后停止或开始覆盖旧位图