CBaseControlVideo 類別
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
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 | 設定來源矩形位置。 |
另請參閱