Direct show中的媒体定位问题
我写的是利用media player播放自定义类型文件,在source filter的OutputPin()中对媒体进行定位。对于变量m_rtStart我不太了解,是不是拖动media player的进度条,它的值就会改变呢?改变之后是不是long pos = m_rtStart / m_rtDuration * filesize;得到文件中数据相对于进度条的位置,再fseek();啊?我每次得到拖进度条,媒体都会定位到开始,从头播放,郁闷一天了。
希望高手指教。
[解决办法]
m_rtStart属于
CSourceSeeking实现IMediaSeeking,用于媒体的定位。比如滚动条的操作,得到/设置当前播放的时间点,等。
推模式的source filter,一般需要在一个output pin上实现IMediaSeeking接口。CSourceSeeking类可以简化这种实现,你可以将你的output pin类从CSourceSeeking类派生,然后实现一些必要的虚函数就可以了。
建议转移到 vc mfc/ 图形算法 或游戏开发 或 专题开发/技术/项目 > 多媒体/流媒体开发