IMFPMediaPlayer::SetPosition 方法 (mfplay.h)
重要 廢棄。 此 API 可能會從未來的 Windows 版本中移除。 應用程式應該使用 媒體會話 播放。
設定播放位置。
語法
HRESULT SetPosition(
[in] REFGUID guidPositionType,
[in] const PROPVARIANT *pvPositionValue
);
參數
[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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應