首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

DIRECTSHOW怎么得到视频的最大长度和播放RMVB文件

2012-02-16 
DIRECTSHOW如何得到视频的最大长度和播放RMVB文件我是用CB开发的我用这样的办法取得时间,但好象和滑动条的

DIRECTSHOW如何得到视频的最大长度和播放RMVB文件
我是用CB开发的

我用这样的办法取得时间,但好象和滑动条的MAX值不批匹配,总是进度条滑到头了文件还没播放完

我是不是做少了什么?还是这个滑动条支持的格式问题,

下面是实现代码

LONGLONG i;

pSeek->GetDuration(&i) ;

TrackBar1->Max=i;



还有DIRECTSHOW不能播放RM RMVB格式的文件,如何解决,
请不要叫我去下载它们的播放器,如果这样就OK的话,我们还写这些程序干什么?

大部分都可以播放 就差RMVB了,就是不知道怎么解码



[解决办法]
dshow时间单位是100ns。
1s = 10000000i64;
太大的数据自己比例缩放一下就行了,比如一个刻度表示1s或10s等,其实一般100ms就足够了,进度条比较细腻,而且又不会越界。
[解决办法]
LONGLONG i;

pSeek->GetDuration(&i) ;

TrackBar1->Max=i;

这样进度条的值太大了,建议进行转换下,将最大值转换为100或1000即可

RMVB的需要安装RmSpliter的一个Filter才能播放。

热点排行