C# Avifile32,can';无法使用AviManager打开文件

C# Avifile32,can';无法使用AviManager打开文件,c#,avi,C#,Avi,我面临AviManager库的问题。我想创建一个AVI文件来存储视频,但在这一行中不断出现错误: _aviManager = new AviManager(@"c:\\Recordings\\test.avi", false); 查看库,此方法如下所示: public AviManager(String fileName, bool open){ Avi.AVIFileInit(); int result; if(open){ //open ex

我面临AviManager库的问题。我想创建一个AVI文件来存储视频,但在这一行中不断出现错误:

_aviManager = new AviManager(@"c:\\Recordings\\test.avi", false);
查看库,此方法如下所示:

public AviManager(String fileName, bool open){
        Avi.AVIFileInit();
        int result;
        if(open){ //open existing file

            result = Avi.AVIFileOpen(
                ref aviFile, fileName,
                Avi.OF_READWRITE, 0);
        }else{ //create empty file

            result = Avi.AVIFileOpen(
                ref aviFile, fileName,
                Avi.OF_WRITE | Avi.OF_CREATE, 0);

        }
        if(result != 0) {
            throw new Exception("Exception in AVIFileOpen: "+result.ToString());
        }
    }

由于该文件当前不存在,因此应输入else部分并创建一个新文件。它创建了文件,但随后崩溃,因为结果的值为
-2147205009
。我的问题是,它为什么会这样做?

我也遇到了同样的问题,这是由于没有正确处理流造成的(因此,一旦打开“*.avi”文件,就会被锁定,然后每次尝试打开都会出现此错误)

为避免出现这种情况,请确保按正确顺序关闭/处置所有AVI对象: 正确:

并删除所有的“空值”,如avimager=null;等等。从代码末尾开始(它在我的机器上造成了一些随机问题)


希望这能有所帮助。

问题可能在道路上。在创建
test.avi
文件之前是否创建了文件夹
C:\Recordings
?首先尝试在系统中创建路径:

if(!Directory.Exists(path))
   Directory.CreateDirectory(path);
在哪里


(不需要将“\\”与“@”一起使用,因为反斜杠会以任何一种方式转义。)

您可以发布收到的错误消息吗?AVIFileOpen中的异常:-2147205009
if(!Directory.Exists(path))
   Directory.CreateDirectory(path);
path = @"c:\Recordings"