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

directshow 播放视频怎么快进和慢放

2012-03-14 
directshow 播放视频如何快进和慢放调用IMediaSeeking.SetRate(2.0)IMediaSeeking.SetRate(0.5)都返回错误

directshow 播放视频如何快进和慢放
调用IMediaSeeking.SetRate(2.0)
IMediaSeeking.SetRate(0.5)都返回错误
错误代码是0x80004001

怎么快进和慢放啊?

[解决办法]
貌似有的视频不支持快进、慢放吧
[解决办法]
graph中用到的filter不支持的话是没有办法支持的
[解决办法]
你播放的是什么视频,很多es流没有timestamp概念的,不可以改变速度和拖放。

还有就是IMediaSeeking.SetRate还有别的函数需要配合使用的,只有这个是不行的。

一个可能的原因是改变速度后没有flush掉原来的数据块,SetRate后要对每个数据包重新打时间戳,所以要将已经解析还没有被解码或者播放的数据包重新打上时间戳。

至于那个错误代码没有遇到过,不知道具体是什么问题。

[解决办法]
要不弄个假的快进快放
手动setPosition
[解决办法]
ts不可以
[解决办法]
貌似和时间戳有关系

热点排行