IMFPMediaPlayer::GetDuration 方法 (mfplay.h)
重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
获取当前媒体项的播放持续时间。
语法
HRESULT GetDuration(
[in] REFGUID guidPositionType,
[out] PROPVARIANT *pvDurationValue
);
parameters
[in] guidPositionType
指定持续时间的时间单位。 定义了以下值。
值 | 含义 |
---|---|
|
100 纳秒单位。
pvDurationValue 中返回的值是ULARGE_INTEGER。
|
[out] pvDurationValue
指向接收持续时间的 PROPVARIANT 的指针。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
媒体源没有持续时间。 实时源(如摄像机)可能会发生此错误。 |
|
没有当前媒体项。 |
注解
此方法计算播放持续时间,同时考虑媒体项的开始和停止时间。 若要设置开始和停止时间,请在媒体项上调用 IMFPMediaItem::SetStartStopPosition 。 若要获取基础媒体文件的实际持续时间(无论启动和停止时间如何),请调用 IMFPMediaItem::GetDuration。
例如,假设你加载了一个 30 秒的音频文件,并将开始时间设置为 2 秒,将停止时间设置为 10 秒。 IMFPMediaItem::GetDuration 方法将返回 30 秒,但 IMFPMediaPlayer::GetDuration 方法将返回 8 秒。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfplay.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈