CBaseControlVideo 類別

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

cbasecontrolvideo 類別階層

CBaseControlVideo類別會實作IBasicVideo介面,並控制一般視訊視窗的視訊屬性。 一般而言, CBaseControlVideo 物件是影片轉譯器,可將視訊繪製到顯示器上的視窗。

許多 CBaseControlVideo 成員函式只需要將視訊轉譯器連線到篩選圖形。 如果未連線,成員函式會傳回 VFW_E_NOT_CONNECTED。 在視訊轉譯器上設定的屬性會在連續連線與中斷連線之間保存。 所有應用程式都應該在啟動簡報之前,先重設轉譯器屬性。

使用視訊時,應用程式可以選取要使用的部分影片。 這個部分是 CBaseControlVideo 物件控制項的來源矩形。 CBaseControlVideo 可讓您的應用程式設定及擷取來源矩形。 CBaseControlVideo使用的所有矩形採用寬度和高度值,而不是右和下值。 未設定來源矩形時,來源矩形的屬性會傳回完整的原生視訊大小。

受保護的資料成員 Description
m_pFilter 擁有媒體篩選的指標。
m_pInterfaceLock 外部定義的重要區段。
m_pPin 控制連線的媒體類型。
成員函數 Description
CBaseControlVideo 建構 CBaseControlVideo 物件。
CopyImage 建立視訊影像的記憶體複本。
GetImageSize 擷取視訊影像大小資訊。
SetControlVideoPin 設定這個物件應該同步處理的針腳。
可覆寫的成員函式 Description
CheckSourceRect 判斷來源矩形是否有效。
CheckTargetRect 判斷目標矩形是否有效。
GetSourceRect 擷取目前來源視訊矩形, (純虛擬) 。
GetStaticImage 傳回記憶體緩衝區中的目前映射, (純虛擬) 。
GetTargetRect 擷取目前的目標視訊矩形 (純虛擬) 。
GetVideoFormat 擷取包含視訊格式的 VIDEOINFOHEADER 結構。
IsDefaultSourceRect 判斷轉譯器是否使用預設來源矩形, (純虛擬) 。
IsDefaultTargetRect 判斷轉譯器是否使用預設目標矩形, (純虛擬) 。
OnUpdateRectangles 來源或目標矩形變更時呼叫。
OnVideoSizeChange 將EC_VIDEO_SIZE_CHANGED傳遞至應用程式。
SetDefaultSourceRect 設定純虛擬) (預設來源視訊矩形。
SetDefaultTargetRect (純虛擬) 設定預設目標視訊矩形。
SetSourceRect 設定目前的來源視訊矩形, (純虛擬) 。
SetTargetRect 設定目前的目標矩形 (純虛擬) 。
IBasicVideo 方法 Description
get_AvgTimePerFrame 擷取每個畫面格的大約平均時間。
get_BitErrorRate 擷取大約位錯誤率。
get_BitRate 擷取影片的大約位元速率。
GetCurrentImage 擷取目前影像的記憶體轉譯。
get_DestinationHeight 擷取目前目的地矩形的高度。
get_DestinationLeft 擷取目前目的地矩形的左座標。
GetDestinationPosition 擷取目前的目的地位置。
get_DestinationTop 擷取目前目的地矩形的頂端座標。
get_DestinationWidth 擷取目前目的地矩形的寬度。
get_SourceHeight 擷取目前來源矩形的高度。
get_SourceLeft 擷取目前來源矩形的左座標。
GetSourcePosition 擷取目前的來源位置。
get_SourceTop 擷取目前來源矩形的頂端座標。
get_SourceWidth 擷取目前來源矩形的寬度。
get_VideoHeight 擷取原生視訊高度。
GetVideoPaletteEntries 擷取視訊的調色盤專案範圍。
GetVideoSize 擷取原生視訊的寬度和高度。
get_VideoWidth 擷取原生視訊寬度。
IsUsingDefaultDestination 判斷轉譯器是否使用預設目的地視窗。
IsUsingDefaultSource 判斷轉譯器是否使用預設來源視窗。
put_DestinationHeight 設定目的矩形的高度。
put_DestinationLeft 設定目的矩形的左座標。
put_DestinationTop 設定目的地矩形的頂端座標。
put_DestinationWidth 設定目的矩形的寬度。
put_SourceHeight 設定來源矩形的高度。
put_SourceLeft 設定來源矩形的左座標。
put_SourceTop 設定來源矩形的頂端座標。
put_SourceWidth 設定來源矩形的寬度。
SetDefaultDestinationPosition 再次設定預設目的地位置。
SetDefaultSourcePosition 再次設定預設來源位置。
SetDestinationPosition 設定目的矩形位置。
SetSourcePosition 設定來源矩形位置。

 

另請參閱

DirectShow 基類