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