IBuilder::RenderEoVideoVolume 方法 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
方法 RenderDvdVideoVolume
會根據使用者規格完成建置篩選圖形,以播放 DVD-Video 磁碟區。
語法
HRESULT RenderDvdVideoVolume(
[in] LPCWSTR lpcwszPathName,
[in] DWORD dwFlags,
[out] AM_DVD_RENDERSTATUS *pStatus
);
參數
[in] lpcwszPathName
要播放之 DVD-Video 磁碟區路徑的指標。 可以是 NULL。
[in] dwFlags
從 AM_DVD_GRAPH_FLAGS 列舉的旗標位 OR,指定如何建置 DVD 播放圖表。
[out] pStatus
AM_DVD_RENDERSTATUS 結構的指標。 當方法傳回時,結構會指出任何轉譯失敗。
傳回值
傳回取決於介面實作的 HRESULT 值。 DirectShow 實作傳回值包括下列各項:
傳回碼 | Description |
---|---|
|
dwFlags 參數會指定衝突的選項。 |
|
方法部分成功。 若要找出發生的錯誤,請檢查 pStatus 參數。 |
|
方法成功,並轉譯所有數據流。 |
|
無法轉譯一或多個數據流。
如果您在 dwFlags 參數中指定AM_DVD_HWDEC_ONLY或AM_DVD_SWDEC_ONLY旗標,請嘗試使用 AM_DVD_HWDEC_PREFER 或 AM_DVD_SWDEC_PREFER 旗標再次呼叫 方法。 |
|
篩選圖表已經包含影片轉譯器。 如果您在 dwFlags 參數中指定AM_DVD_EVR_ONLY旗標,但圖形已經包含增強式視訊轉譯器 (VMR) 篩選以外的視訊轉譯器,此方法會傳回此錯誤碼。 |
|
建置圖形時發生錯誤。 例如,DVD 圖形產生器無法建立必要的篩選,或無法轉譯任何數據流。 |
|
篩選圖表包含一個以上的視訊轉譯器。 |
備註
AM_DVD_RENDERSTATUS 結構反映此方法的失敗碼。 此方法傳回S_FALSE的原因包括:
- 圖表已完全建置,但下列其中一項為 true。
- 重迭混合無法運作—應用程式未設定AM_DVD_NOVPE旗標,而且無法透過重迭混音器放置視訊串流。 在此情況下,如果影片在軟體中譯碼,應用程式將有足夠的資訊來通知使用者影片不會顯示。 硬體譯碼的視訊只會顯示在連接至硬體視訊譯碼器之NTSC輸出埠的電視上。
- 影片譯碼器不會產生第 21 行數據。 由於譯碼器,應用程式可以顯示隱藏式輔助字幕無法使用的警告或資訊訊息。
- 未指定磁碟區路徑,且 DVD 導覽器找不到要播放的任何 DVD-Video 磁碟區。 如果播放啟動時,應用程式可以要求使用者插入磁碟驅動器中沒有可用的 DVD-Video 光碟。
- 某些數據流未轉譯。 應用程式可以向使用者指出某些數據流無法播放。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |