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

与普通转换Filter相比,Renderer中还做了些什么工作?解决办法

2012-02-07 
与普通转换Filter相比,Renderer中还做了些什么工作?混音时问题,在音频采集时添加背景音乐,我的Graph将媒体

与普通转换Filter相比,Renderer中还做了些什么工作?
混音时问题,在音频采集时添加背景音乐,我的Graph将媒体文件中的音频与采集到的音频进行混合,连接大概如下:
媒体源文件Filter --> 音频解码后 --> --> DirectSound音频播放
--> 音频混合Filter(自己写) 
音频采集Filter------------------> --> Lame编码 --> 发送

现在Graph已能正常连接,但是在打开RMVB格式时,音频播放的非常快,比正常速度快多了,导致音频混合不能如意,而打开其它格式如WMV,ASF,MPG都是正常的。所以想问,与普通转换Filter相比,Renderer中还做了些什么工作?导致了此种现象发生?
刚开始我怀疑我与质量控制有关,于是重载了output pin的Notify(),但这个函数一次也没调用过。又或者是与Real格式的特殊性有关?

[解决办法]
一般情况,RenderFilter会设定一个同步时钟,它通过读取传入的数据流帧上的时间戳来控制播放速度。
你的情况我估计是RMVB文件解压的音频数据没打时间戳造成的。
[解决办法]
1。高效率的图形显示
2。av的同步控制(丢弃,质量反馈信息...)

热点排行