快进 [英] Fast forwarding

查看:74
本文介绍了快进的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用ImediaPosition :: set_rate()

Using ImediaPosition::set_rate()

支持的最大速率似乎只有2.0。我相信这是由于音频渲染器的限制。没有音频的视频,set_rate似乎根本不起作用。我正在考虑在图形运行时断开音频渲染器(动态
重新连接)以消除2.0限制但我甚至不确定这会起作用,因为时钟连接到音频渲染器。

the max rate supported seems to be only 2.0. I believe this is due to a limitation in the audio renderer. A video without audio, set_rate doesn't seem to work at all. I was thinking of disconnecting the audio renderer whilst the graph was running (dynamic reconnection) to remove the 2.0 limitation but I am not even sure this would work, as the clock is connected to the audio renderer.

我们怎样才能设置比2.0更快的速度?

How can we set a rate faster than 2.0 ?

dvd导航器似乎以某种方式做到了。您可以使用

The dvd navigator seems to do it somehow. You can get 16x fast forward speeds using

IDvdControl2 :: PlayForwards()

IDvdControl2::PlayForwards()

推荐答案

快进的两种方法是:在分割器中增加时间戳和传送帧的速率或作弊。我相信DVD导航器使用了第二个技巧,然而它是fornat-和过滤器特定的。

There are 2 ways to fast forward: increase the rate or cheat with the timestamps and delivered frames in the splitter. I believe the DVD navigator uses the second trick, which however is fornat- and filter-specific.

由于限制确实在音频渲染器中,因此断开连接是有效的。挂钩它的SetRate()方法来伪造一个S_OK返回也可以,但它是一个黑客。

Since the limitation is indeed in the audio renderer, disconnecting it works. Hooking its SetRate() method to fake an S_OK return works, too, but it's a hack.


这篇关于快进的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆