IAMTimelineComp::VTrackInsBefore 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意

[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]

 

方法 VTrackInsBefore 以指定的优先级将虚拟轨迹插入组合中。

语法

HRESULT VTrackInsBefore(
   IAMTimelineObj *pVirtualTrack,
   long           Priority
);

参数

pVirtualTrack

指向虚拟轨道的 IAMTimelineObj 接口的指针。

优先级

插入虚拟轨道的优先级,或 –1 表示在优先级列表末尾插入虚拟轨道。 优先级列表确定哪些剪辑可见。 有关更多信息,请参见备注。

返回值

返回以下 HRESULT 值之一:

返回代码 说明
S_OK
成功。
E_INVALIDARG
无效的参数。
E_NOINTERFACE
对象不是虚拟轨道。

 

备注

组合中的每个虚拟轨道都有一个唯一的优先级。 优先级范围为 0 到 n - 1,其中 n 是组合中的虚拟轨道数。 对于视频组,虚拟轨道隐藏优先级较低的任何虚拟轨道,但轨道为空或包含转换的位置除外。 可以将虚拟轨道视为最终合成中的层。 轨道 1 分层在轨道 0 之上,轨道 2 分层在轨道 1 之上,依此类推。

如果为 Priority 参数指定 -1,则会在列表末尾插入虚拟轨道,其优先级值高于现有轨道。 如果指定组合中已存在的优先级值,则每个优先级相等或更大的轨道将向上移动一个优先级。

示例:跟踪 A 的优先级为 0,而跟踪 B 的优先级为 1。 如果跟踪 C 在优先级 0 处插入,则跟踪 A 将移动到优先级 1,而跟踪 B 将移动到优先级 2。

如果指定的优先级大于组合中的当前轨道数,则 方法将失败。

注意

头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。

 

注意

若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。

 

要求

要求
标头
Qedit.h

Strmiids.lib

另请参阅

IAMTimelineComp 接口

错误和成功代码