共用方式為


擷取海報框架

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

[不支援此 API,未來可能會改變或無法使用。]

本文說明如何使用DirectShow Editing Services提供的Media Detector (MediaDet) 物件,從數位媒體檔案顯示海報圖文框。

媒體偵測器是協助程式物件,可從媒體來源檔案取得格式資訊。 它也可以從來源檔案中的視訊資料流程擷取點陣圖影像。 假設檔案是可搜尋的,您可以從檔案中的任何點取得影像。 傳回的影像一律為 24 位 RGB 格式。

媒體偵測器不是篩選準則,而且應用程式不需要使用篩選圖形管理員或建立篩選圖形。 在內部,媒體偵測器會建立包含 範例抓取器篩選的篩選圖形。 若要取得點陣圖,媒體偵測器會搜尋並暫停篩選圖形,然後從範例擷取器篩選擷取點陣圖。 應用程式會透過 IMediaDet 介面與媒體偵測器通訊。 媒體偵測器是將篩選圖形封裝在協助程式物件內的良好範例,以便防護應用程式免于圖形相關的詳細資料。

媒體偵測器會以兩種模式運作。 當您第一次建立時,媒體偵測器會處於「資訊收集」模式。 您可以指定媒體檔案的名稱,並取得檔案中每個資料流程的相關資訊,例如格式類型、畫面播放速率或持續時間。 如果檔案包含視訊資料流程,您可以將媒體偵測器切換為「點陣圖抓取」模式,並從來源擷取點陣圖。 不過,一旦您這麼做,就無法將媒體偵測器切換回其原始模式;它會永久附加至該視訊串流。 若要使用另一個資料流程或另一個檔案,您必須建立媒體偵測器的新實例。

注意

本教學課程中的程式碼範例會使用 ATL CComPtr 類別,其會自動管理參考計數。 如果您想要使用原始介面指標,請記得在完成時釋放每個介面。 此外,為了簡潔起見,程式碼範例會省略應用程式應該執行的大部分錯誤檢查。 在工作程式碼中,一律檢查 HRESULT 值。

 

本教學課程包含下列步驟:

使用 DirectShow 編輯服務