IMFPMediaPlayer::SetRate 方法 (mfplay.h)

重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
 

设置播放速率。

语法

HRESULT SetRate(
  [in] float flRate
);

参数

[in] flRate

播放速率。 播放速率表示为当前速率与正常速率的比率。 例如, 1.0 表示正常播放速度, 0.5 表示半速, 2.0 表示两倍速度。 正值表示向前播放,负值表示反向播放。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_OUT_OF_RANGE
flRate 参数为零。
MF_E_SHUTDOWN
调用了对象的 Shutdown 方法。

注解

此方法以异步方式完成。 操作完成后,将调用应用程序的 IMFPMediaPlayerCallback::OnMediaPlayerEvent 回调方法。 事件类型为 MFP_EVENT_TYPE_RATE_SET

方法设置最接近的支持速率,具体取决于基础媒体源。 例如,如果 flRate 为 50 且源的最大速率为 8×正常速率,则 方法会将速率设置为 8.0。 实际速率在 MFP_EVENT_TYPE_RATE_SET 事件的事件数据中指示。

若要查找支持的费率范围,请调用 IMFPMediaPlayer::GetSupportedRates

此方法不支持 0 的播放速率,尽管 Media Foundation 在某些其他上下文中定义了零速率的含义。

新速率仅适用于当前媒体项。 设置新媒体项会将播放速率重置为 1.0。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 mfplay.h

另请参阅

IMFPMediaPlayer

使用 MFPlay 进行音频/视频播放