IMFSourceReader::SetCurrentPosition 方法 (mfreadwrite.h)
在媒体源中查找新位置。
语法
HRESULT SetCurrentPosition(
[in] REFGUID guidTimeFormat,
[in] REFPROPVARIANT varPosition
);
参数
[in] guidTimeFormat
指定 时间格式的 GUID。 时间格式定义 varPosition 参数的单位。 为所有媒体源定义了以下值:
值 | 含义 |
---|---|
|
100 纳秒单位。 |
某些媒体源可能支持其他值。
[in] varPosition
开始播放的位置。 单位由 guidTimeFormat 参数指定。 如果 guidTimeFormat 参数 GUID_NULL,请将变体类型设置为 VT_I8。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
一个或多个示例请求仍处于挂起状态。 |
注解
SetCurrentPosition 方法不保证精确查找。 搜寻的准确性取决于媒体内容。 如果媒体内容包含视频流, SetCurrentPosition 方法通常会在所需位置之前查找最近的关键帧。 关键帧之间的距离取决于多个因素,包括编码器实现、视频内容以及用于对内容进行编码的特定编码设置。 例如,单个视频文件 (关键帧之间的距离可能会有所不同,具体取决于场景复杂性) 。
查找后,应用程序应调用 IMFSourceReader::ReadSample 并前进到所需位置。
如果安装了适用于 Windows Vista 的平台更新补充,则此接口在 Windows Vista 上可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | mfreadwrite.h |