以编程方式控制 DirectVobSub 过滤器



我有一个基于DirectShow的播放器,它使用DirectVobSub来显示字幕。

我想要有快捷方式来上下移动字幕同步。

这在 VobSub 对话中是可能的,但没有捷径。

我使用Visual C++,并且我有指向VobSub过滤器的IBaseFilter指针,我想我必须以某种方式调用该接口。有什么想法吗?

您应该能够使用常规IUnknown::QueryInterfaceIBaseFilter获得IDirectVobSub和相似的接口。

要获得这些接口的定义,您通常需要首先检查用于构建过滤器的源代码(您是从某个地方获得的,对吧?尽管来自另一个回购的副本也应该有效。

https://github.com/Fluffiest/mpc-hc/blob/cfd18b62248c0e97f5626d94539d60d5361cc5a1/src/filters/transform/VSFilter/IDirectVobSub.h#L30

interface __declspec(uuid("EBE1FB08-3957-47ca-AF13-5827E5442E56"))
IDirectVobSub :
public IUnknown
{
STDMETHOD(get_FileName) (THIS_
WCHAR* fn  // fn should point to a buffer allocated to at least the length of MAX_PATH (=260)
) PURE;
STDMETHOD(put_FileName) (THIS_
WCHAR* fn
) PURE;

最新更新