IConfigAviMux::SetMasterStream 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 SetMasterStream
指定将用于同步文件中其他流的流。
语法
HRESULT SetMasterStream(
[in] LONG iStream
);
参数
[in] iStream
指定流的索引,或指定 –1 以指示没有主流。 AVI 复用器为每个连接的输入引脚写入一个流。 Stream数字从零开始编制索引。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
无效的参数。 |
|
成功。 |
注解
如果要从两个不同的源捕获音频和视频,请使用此方法来同步流。 来自单独捕获源的流可能以略有不同的速率捕获。 如果指定主流,AVI Mux 会调整其他流的播放速率,以补偿可能发生的任何偏移。
建议使用音频流作为主流,因为对视频播放速率的细微调整不如音频播放速率的变化明显。 此外,修改音频播放速率会导致音频驱动程序重新采样音频。
此方法的工作原理是调整 AVISTREAMHEADER 结构中的 dwScale 和 dwRate 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |