[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
CBaseControlVideo クラスは、IBasicVideo インターフェイスを実装し、汎用ビデオ ウィンドウのビデオ プロパティを制御します。 一般に、 CBaseControlVideo オブジェクトは、ディスプレイ上のウィンドウにビデオを描画するビデオ レンダラーです。
多くの CBaseControlVideo メンバー関数では、ビデオ レンダラーをフィルター グラフに接続するだけで済みます。 接続されていない場合、メンバー関数は VFW_E_NOT_CONNECTEDを返します。 ビデオ レンダラーに設定されたプロパティは、連続する接続と切断の間で保持されます。 すべてのアプリケーションで、プレゼンテーションを開始する前にレンダラーのプロパティをリセットする必要があります。
ビデオを操作する場合、アプリケーションは使用するビデオの一部を選択できます。 この部分は、 CBaseControlVideo オブジェクトが制御するソース四角形です。 CBaseControlVideo を使用すると、アプリケーションでソース四角形を設定および取得できます。 CBaseControlVideo で使用されるすべての四角形では、右と下の値ではなく、幅と高さの値が使用されます。 ソース四角形が設定されていない場合、ソース四角形のプロパティは、完全なネイティブ ビデオ サイズを返します。
| プロテクト データ メンバー | 説明 |
|---|---|
| m_pFilter | 所有するメディア フィルターへのポインター。 |
| m_pInterfaceLock | 外部で定義されたクリティカル セクション。 |
| m_pPin | 接続のメディアの種類を制御します。 |
| メンバー関数 | 説明 |
| CBaseControlVideo | CBaseControlVideo オブジェクトを構築します。 |
| CopyImage | ビデオ イメージのメモリ コピーを作成します。 |
| GetImageSize | ビデオ 画像のサイズ情報を取得します。 |
| SetControlVideoPin | このオブジェクトの同期に使用するピンを設定します。 |
| オーバーライド可能なメンバー関数 | 説明 |
| CheckSourceRect | ソース四角形が有効かどうかを判断します。 |
| CheckTargetRect | ターゲットの四角形が有効かどうかを判断します。 |
| GetSourceRect | 現在のソース ビデオの四角形 (純粋仮想) を取得します。 |
| GetStaticImage | メモリ バッファー (純粋仮想) 内の現在のイメージを返します。 |
| GetTargetRect | 現在のターゲット ビデオの四角形 (純粋仮想) を取得します。 |
| GetVideoFormat | ビデオ形式を含む VIDEOINFOHEADER 構造体を取得します。 |
| IsDefaultSourceRect | レンダラーが既定のソース四角形 (純粋仮想) を使用しているかどうかを判断します。 |
| IsDefaultTargetRect | レンダラーが既定のターゲット四角形 (純粋仮想) を使用しているかどうかを判断します。 |
| OnUpdateRectangles | ソースまたはターゲットの四角形が変更されたときに呼び出されます。 |
| OnVideoSizeChange | EC_VIDEO_SIZE_CHANGEDをアプリケーションに渡します。 |
| SetDefaultSourceRect | 既定のソース ビデオの四角形 (純粋仮想) を設定します。 |
| SetDefaultTargetRect | 既定のターゲット ビデオの四角形 (純粋仮想) を設定します。 |
| SetSourceRect | 現在のソース ビデオの四角形 (純粋仮想) を設定します。 |
| SetTargetRect | 現在のターゲット四角形 (純粋仮想) を設定します。 |
| IBasicVideo メソッド | 説明 |
| 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 | ソースの四角形の位置を設定します。 |
関連項目