AVIFileOpen返回REGDB_E_CLASSNOTREG该如何解决

baidu_38396173 2017-05-19 11:32:54
用这个函数打开一个AVI文件得到REGDB_E_CLASSNOTREG返回值是什么情况?
hr = AVIFileOpen(&pfile,(LPCWSTR)strFile, OF_READ, NULL);

看了网上的一些解决方法及可能出现的问题,都按照相关建议确认改正了下:
1.首先文件格式我是用格式转码器把视频文件从MP4格式转到AVI的,文件路径的话也没问题;
2.关于Com库初始化的问题:
网上有建议是Com库未初始化的问题,然后我加了如下一行
HRESULT hr = CoInitialize( NULL );
调试发现hr返回值S_FALSE,查到的解释是:当前线程上,COM库已经被初始化。
3.AVIFileInit这个函数我也调用 AVIFileOpen之前调用了
4.头文件和链接库的问题我不是太懂,就这几行是和AVI相关的吧
#include <windows.h>
#include <Vfw.h>
#pragma comment (lib, "Vfw32.lib")

以上就是我做出的改正,但是每次调试,函数的返回值依旧是这个值。作为一个新手,我也很无
奈啊,只好求各位大侠帮帮忙解决。
...全文
276 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧