IBuilder::RenderEoVideoVolume 方法 (strmif.h)

[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 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
E_INVALIDARG
dwFlags 參數會指定衝突的選項。
S_FALSE
方法部分成功。 若要找出發生的錯誤,請檢查 pStatus 參數。
S_OK
方法成功,並轉譯所有數據流。
VFW_E_DVD_DECNOTENOUGH
無法轉譯一或多個數據流。

如果您在 dwFlags 參數中指定AM_DVD_HWDEC_ONLY或AM_DVD_SWDEC_ONLY旗標,請嘗試使用 AM_DVD_HWDEC_PREFER 或 AM_DVD_SWDEC_PREFER 旗標再次呼叫 方法。

VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH
篩選圖表已經包含影片轉譯器。 如果您在 dwFlags 參數中指定AM_DVD_EVR_ONLY旗標,但圖形已經包含增強式視訊轉譯器 (VMR) 篩選以外的視訊轉譯器,此方法會傳回此錯誤碼。
VFW_E_DVD_RENDERFAIL
建置圖形時發生錯誤。 例如,DVD 圖形產生器無法建立必要的篩選,或無法轉譯任何數據流。
VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH
篩選圖表包含一個以上的視訊轉譯器。

備註

AM_DVD_RENDERSTATUS 結構反映此方法的失敗碼。 此方法傳回S_FALSE的原因包括:

  • 圖表已完全建置,但下列其中一項為 true。
    • 重迭混合無法運作—應用程式未設定AM_DVD_NOVPE旗標,而且無法透過重迭混音器放置視訊串流。 在此情況下,如果影片在軟體中譯碼,應用程式將有足夠的資訊來通知使用者影片不會顯示。 硬體譯碼的視訊只會顯示在連接至硬體視訊譯碼器之NTSC輸出埠的電視上。
    • 影片譯碼器不會產生第 21 行數據。 由於譯碼器,應用程式可以顯示隱藏式輔助字幕無法使用的警告或資訊訊息。
    • 未指定磁碟區路徑,且 DVD 導覽器找不到要播放的任何 DVD-Video 磁碟區。 如果播放啟動時,應用程式可以要求使用者插入磁碟驅動器中沒有可用的 DVD-Video 光碟。
  • 某些數據流未轉譯。 應用程式可以向使用者指出某些數據流無法播放。
這個方法會建置圖形,而不需要知道要播放的 DVD-Video 檔案或磁碟區。 即使 lpcwszPathNameNULL ,或 DVD 導覽器篩選找不到要播放的預設 DVD-Video 磁碟區,DVD-Video 圖形產生器仍會建置圖形。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

DVD 應用程式

錯誤和成功碼

IGraphBuilder 介面