IConfigAviMux::SetMasterStream 方法 (strmif.h)

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

方法 SetMasterStream 指定将用于同步文件中其他流的流。

语法

HRESULT SetMasterStream(
  [in] LONG iStream
);

参数

[in] iStream

指定流的索引,或指定 –1 以指示没有主流。 AVI 复用器为每个连接的输入引脚写入一个流。 Stream数字从零开始编制索引。

返回值

返回 HRESULT 值。 可能的值包括以下值。

返回代码 说明
E_INVALIDARG
无效的参数。
S_OK
成功。

注解

如果要从两个不同的源捕获音频和视频,请使用此方法来同步流。 来自单独捕获源的流可能以略有不同的速率捕获。 如果指定主流,AVI Mux 会调整其他流的播放速率,以补偿可能发生的任何偏移。

建议使用音频流作为主流,因为对视频播放速率的细微调整不如音频播放速率的变化明显。 此外,修改音频播放速率会导致音频驱动程序重新采样音频。

此方法的工作原理是调整 AVISTREAMHEADER 结构中的 dwScaledwRate 值。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

AVI RIFF 文件参考

错误和成功代码

IConfigAviMux 接口