子对象
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
[此 API 不受支持,将来可能会更改或不可用。]
源、效果和过渡具有指向其他 COM 对象(称为 子对象)的内部指针。 子对象执行对象的实际工作。 源的子对象是用于创建视频或音频数据的组件。 效果或过渡的子对象是转换数据的组件;例如,在视频效果中,它会在视频流中创建视觉效果。
子对象的类型取决于对象的类型:
- 源:支持查找并生成 DES 支持的格式的任何 DirectShow 源筛选器或分析程序筛选器。 如果存在用于解码的 DirectShow 筛选器,则它可以是压缩格式。
- 效果:对于视频,任何二维一输入 Microsoft® DirectX® 转换对象。 对于音频,任何 DirectShow 音频效果筛选器。
- 转换:对于视频,任何二维双输入 DirectX 转换对象。 音频不支持切换。
组、合成和轨道没有子对象。
应用程序不直接设置子对象指针。 对于效果和转换,应用程序调用 IAMTimelineObj::SetSubObjectGUID 方法来指定子对象的 GUID。 对于源对象,应用程序通常调用 IAMTimelineSrc::SetMediaName 来指定源文件的名称。 但是, SetSubObjectGUID 方法也可用于源对象,以指定筛选器) CLSID (类标识符。
相关主题