我正在使用AVIFile 参考API(https://msdn.microsoft.com/en-us/library/windows/desktop/dd756808 (v=vs.85).aspx )来创建 AVI 视频输出文件。在将帧添加到视频文件时,我想检查文件的大小,该文件创建到现在,如果超过一定的大小限制(比如 1GB),我想停止将帧添加到文件并关闭 AVI 文件并退出。
我正在使用以下代码:
LONG lnSize=0;
PAVISTREAM ppavi=NULL;
AVIFileGetStream(pfile,&ppavi,mmioFOURCC('M', 'S', 'V', 'C'),1);
AVIStreamDataSize(ppavi,mmioFOURCC('M', 'S', 'V', 'C'),&lnSize);
AVIFileGetStream将空值返回到 ppavi 指针。因此,它在调用AVIStreamDataSize时崩溃。
在创建 AVI 文件的过程中,我检索 AVI 文件大小的方法是否正确?如果是这样,我应该在代码中更正什么以获得正确大小的 AVI 文件?否则,请让我知道检索相同内容的正确方法是什么?
提前致谢。