[與此頁面相關的功能 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 | 設定來源矩形位置。 |
另請參閱