IMFPMediaPlayer::SetPosition 方法 (mfplay.h)
重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
设置播放位置。
语法
HRESULT SetPosition(
[in] REFGUID guidPositionType,
[in] const PROPVARIANT *pvPositionValue
);
parameters
[in] guidPositionType
播放位置的时间单位。 定义了以下值。
值 | 含义 |
---|---|
|
100 纳秒单位。
pvPositionValue 的值必须是LARGE_INTEGER。
|
[in] pvPositionValue
新的播放位置。 此参数的含义和数据类型由 guidPositionType 参数指示。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
无效的参数。 |
|
pvPositionValue 的值无效。 |
|
没有媒体项已排队。 |
|
调用了对象的 Shutdown 方法。 |
注解
如果在停止播放时调用此方法,则新位置将在播放恢复后生效。
此方法异步完成。 操作完成后,将调用应用程序的 IMFPMediaPlayerCallback::OnMediaPlayerEvent 回调方法。 事件类型 为MFP_EVENT_TYPE_POSITION_SET。
如果在调用 SetPosition 之前开始播放,则播放将在新位置恢复。 如果暂停播放,则刷新视频以在新位置显示当前帧。
如果连续两次调用 setPosition 且 guidPositionType 等于 MFP_POSITIONTYPE_100NS,并且第二个调用在第一个调用完成之前进行,则第二个调用将取代第一个调用。 被取代的调用的状态代码设置为在该调用的事件数据中 S_FALSE 。 此行为可防止重复调用 SetPosition 时出现过多的延迟,因为每次调用都可能强制媒体源执行相对冗长的查找操作。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfplay.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈