硬盘中有一个视频文件a.mpg(视频可在http://www.uushare.com/user/chenwenze/files/3121160下载),
用Windows Media Player可以正常播放,现在用DSPack搭个最简单的播放程序,一个VideoWindow,一个FilterGraph,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
FilterGraph1.Active := True;
FilterGraph1.RenderFile('D:\bears.mpg');
FilterGraph1.Play;
end;
出现错误:“由于没有连接插针而导致此项操作无法执行。 ($80040209).”
并且视频没有在VideoWindow中播放而是在一个新跳出来的ActiveMovie Window窗口中播放。现在猜测一下可能是由于RenderFile使用的是智能连接引起的没能使用正确的解码器,而WMP估计是手动连接。仅仅是猜测。哪位高人了解个中原因?该如何解决这个问题呢?知道解决方案的希望能附上代码,谢谢!
用Windows Media Player可以正常播放,现在用DSPack搭个最简单的播放程序,一个VideoWindow,一个FilterGraph,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
FilterGraph1.Active := True;
FilterGraph1.RenderFile('D:\bears.mpg');
FilterGraph1.Play;
end;
出现错误:“由于没有连接插针而导致此项操作无法执行。 ($80040209).”
并且视频没有在VideoWindow中播放而是在一个新跳出来的ActiveMovie Window窗口中播放。现在猜测一下可能是由于RenderFile使用的是智能连接引起的没能使用正确的解码器,而WMP估计是手动连接。仅仅是猜测。哪位高人了解个中原因?该如何解决这个问题呢?知道解决方案的希望能附上代码,谢谢!
解决方案 »
- RO保存文件到Oracle的Blob字段问题(来人接分)~
- fastreport打印stringgrid报表问题
- 如何用ADOTable插入数据
- 急!!求简单的方法获取本机所属的工作组名!!
- active
- 局域网内,数据库与客户端用不同网关有什么办法能让它们连接?
- 请问各位,IntraWeb中如何接收客户端传来的参数。
- 如何在电脑上模拟实现LED的方式来显示字体呢?
- 我做MIDAS程序时 客户端出现Exception EIntfCastError错误
- 关于李维先生的"多层系统篇"的问题,相信很多人也碰到过。请大家来看看。
- delphi生成EXE文件时检测有没dat文件才能生成exe
- dspack delphi 内存泄漏
加入一个videowindow设置它的filterGraph,再用你上面的代码应该就行了
与解码器无关
以前我遇到过这情况是因为解码器输出的颜色域和渲染器支持的不符
所以你还是有道理的
试试ffdshow解码
或者手动在解码之后加入AVI Decompressor 或者 Color Space Converter
把VideoWindow改成vmr就行了 mode := vmVMR
默认的渲染器好像不支持