Microsoft DirectX 8.0

インターフェイス

このトピックには、Microsoft® DirectShow® COM インターフェイスのリファレンス情報を記載する。多様なハードウェア、ファイル フォーマット、およびストリーム操作をサポートするため、DirectShow は多数のインターフェイスを実装する。これらのインターフェイスの一部はアプリケーションで使用され、その他はフィルタおよびほかの DirectShow コンポーネントで内部的に使用される。

個々のアプリケーションでは一部のサブセットのみを使用する。必要なインターフェイスはアプリケーションの性質によって異なる。以下の一覧は、アプリケーション レベルのインターフェイスを目的ごとにまとめたものである。

参照 : 

フィルタ グラフの構築

アプリケーションでは、以下のインターフェイスを使用して各種のフィルタ グラフを構築する。

インターフェイス目的
ICaptureGraphBuilder2 ビデオ キャプチャ用のフィルタ グラフを構築する。
ICreateDevEnum 利用可能なシステム デバイスを列挙する。
IDvdGraphBuilder DVD のナビゲーションおよび再生に使用するフィルタ グラフを構築する。
IFilterGraph2 フィルタを追加、削除、または接続する。
IFilterMapper2 ユーザーのシステムに登録されているフィルタを列挙する。
IGraphBuilder ファイルの再生またはカスタム ユースに使用するフィルタ グラフを構築する。
IGraphConfig フィルタ グラフを動的に再構成する。
IGraphVersion グラフの変更時期を判断する。

フィルタ グラフの制御

以下のインターフェイスは、フィルタ グラフを制御するメソッドを提供する。

インターフェイス目的
IAMGraphStreams フィルタ グラフのライブ ストリームの同期をとる。
IEnumFilters グラフのフィルタを列挙する。
IFilterChain フィルタ チェーンを制御する。
IMediaControl フィルタ グラフを実行、ポーズ、および停止する (グラフを構築する Automation 互換のメソッドも提供する)。
IMediaEventEx グラフ内のイベントに応答する。
IMediaSeeking ファイル内のシークを行う。
IQueueCommand コマンドをキューに入れ、後で実行する。
IVideoFrameStep ビデオ ストリーム内のコマ送りをする。

オーディオのキャプチャとレンダリング

以下のインターフェイスは、オーディオのキャプチャおよびレンダリングをサポートする。

インターフェイス目的
IAMAudioInputMixer モノラル/ステレオ、ミキシング レベル、パン レベル、ラウドネス、高音域、低音域など、オーディオ入力の特性を調整する。
IAMDirectSound ほかのアプリケーションにフォーカスがあるときサウンドを鳴らすかどうか、どのアプリケーション ウィンドウをサウンドに関連付けるかなど、Microsoft DirectSound® 互換デバイスの設定を制御する。
IAMResourceControl オーディオ デバイスを事前に確保する。
IBasicAudio オーディオのプロパティを設定する。

DVD

インターフェイス目的
IDvdCmd コマンドが開始または完了するまで DVD ナビゲータをブロックする。
IDvdControl2 カラオケを含む DVD ビデオのタイトルをナビゲートおよび再生する。
IDvdGraphBuilder システム上の利用可能なソフトウェアおよびハードウェアから、DVD ビデオ再生に使用するフィルタ グラフを構築する。
IDvdInfo2 DVD ディスクの各種属性または DVD ナビゲータの状態を照会する。
IDvdState ユーザー セッションの状態をディスクに保存する。状態には、再生位置、ペアレンタル ロック レベル、およびリージョンが含まれる。

ビデオのキャプチャ

以下のインターフェイスは、Microsoft® Windows® Driver Model (WDM) デバイス、または旧来の Microsoft® Video for Windows® (VfW) デバイスを使用したビデオ キャプチャをサポートする。

インターフェイス目的
IAMAnalogVideoDecoder WDM ビデオ キャプチャ カードによるビデオ信号のデジタル化を制御する。
IAMAnalogVideoEncoder ハードウェア ビデオ エンコーダを制御する。
IAMBufferNegotiation ピンのバッファ割り当てを制御する。
IAMCopyCaptureFileProgress ファイル コピー操作の進行状況を受け取るコールバック インターフェイス。
IAMCrossbar WDM のオーディオ ソースまたはビデオ ソースと、WDM キャプチャ デバイスの間のハードウェア接続を確立する。
IAMDroppedFrames キャプチャ フィルタにキャプチャのパフォーマンスを照会する。
IAMStreamControl 個々のストリームの開始タイムおよび終了タイムを制御する。
IAMVfwCaptureDialogs VFW キャプチャ ドライバのダイアログ ボックスを表示する。
IAMVideoControl キャプチャ デバイスからの画像を制御する。
IAMVideoProcAmp 輝度、コントラスト、色相、飽和、ガンマ、鮮明度などのビデオ信号品質を調整する。
ICaptureGraphBuilder2 ビデオ キャプチャ用のフィルタ グラフを構築する。
IFileSinkFilter2 出力ファイルの名前および属性を指定する。
ISampleGrabber フィルタ グラフ内を通るメディア サンプルを取得する。

ビデオの編集

DES (DirectShow 編集サービス) は、以下のインターフェイスを提供する。

インターフェイス目的
IAMErrorLog エラー ログのためのコールバック インターフェイス。
IAMSetErrorLog エラー ログを設定または取得する。
IAMTimeline タイムラインのプロパティを設定および取得し、タイムライン オブジェクトを作成する。
IAMTimelineComp 合成の仮想トラックを挿入または取得する。
IAMTimelineEffect エフェクトの優先順位を取得する。
IAMTimelineEffectable タイムライン オブジェクトにエフェクトを追加する。
IAMTimelineGroup グループのプロパティを設定および取得する。
IAMTimelineObj タイムライン オブジェクトのプロパティを設定および取得する。
IAMTimelineSplittable タイムライン オブジェクトを分割する。
IAMTimelineSrc ソースのプロパティを設定および取得する。
IAMTimelineTrack トラックのプロパティを設定および取得する。
IAMTimelineTrans トランジションのプロパティを設定および取得する。
IAMTimelineTransable タイムライン オブジェクトに移行部を追加する。
IAMTimelineVirtualTrack 仮想トラックのプロパティを設定および取得する。
IMediaDet メディア ファイルに関する情報を取得する。
IMediaLocator ファイル名を検証する。
IPropertySetter エフェクトまたは移行部のプロパティを設定する。
IRenderEngine ビデオ編集プロジェクトをレンダリングする。
ISmartRenderEngine スマート再圧縮を使用して、ビデオ編集プロジェクトをレンダリングする。
IXml2Dex XML (Extensible Markup Language) でビデオ編集プロジェクトを保存およびロードする。

ファイルのエンコードとデコード

インターフェイス目的
IAMMediaContent 作成者やタイトルなどのメタ データをストリームから取得する。
IAMOpenProgress ファイルを開く処理の進捗状況を判定する。
IAMParse MPEG ストリームの現在位置の解析時間を照会、設定する。
IAMStreamSelect 再生する論理ストリームを制御し、それに関する情報を取得する。
IAMVfwCompressDialogs VFW CODEC のダイアログ ボックスを表示する。
IAMVideoCompression ビデオ圧縮のパラメータを設定する。
IConfigAsfWriter ASF ライタ フィルタが ASF (Advanced Streaming Format) ファイルを書き込む方法を制御する。
IConfigAviMux AVI Mux フィルタが AVI ファイルを書き込む方法を制御する。
IConfigInterleaving AVI Mux フィルタが AVI ファイルを書き込むときのインターリーブを構成する。
IDVEnc DV ビデオ エンコーダ フィルタのエンコード解像度を設定する。
IDVSplitter デジタル ビデオ (DV) ストリームのフレームをダウングレードする。
IIPDVDec DV ビデオ デコーダ フィルタのデコード解像度を設定する。
IPersistMediaPropertyBag AVI ストリームの INFO チャンクおよび DISP チャンクを設定、取得する。

ビデオのレンダリング、拡大縮小、およびオーバーレイ

インターフェイス目的
IAMLine21Decoder クローズド キャプション情報および設定にアクセスする。
IAMOverlayFX ビデオ サーフェスにオーバーレイ エフェクトを適用する。
IAMVideoDecimationProperties ビデオの本来のサイズよりビデオ ウィンドウが小さい場合に、DirectShow がビデオ イメージを拡大縮小する方法を制御する。
IBasicVideo2 ビデオのプロパティを設定する。
IDDrawExclModeVideo Microsoft® DirectDraw® の排他的な全画面モードでビデオをレンダリングする。
IDDrawExclModeVideoCallback オーバーレイの位置、サイズ、および表示/非表示の変更に関する通知を受け取るコールバック インターフェイス。
IDirectDrawVideo 指定された DirectDraw 能力を無効にする。
IDirectDrawMediaSample オーバーレイ ミキサー フィルタが割り当てた DirectDraw サーフェスにアクセスする。
IFullScreenVideo フルスクリーン レンダリング フィルタを制御する。
IMixerPinConfig2 複数のビデオ ストリームをミキシングするときに、オーバーレイ ミキサー上にビデオのカラー コントロールを設定する。
IQualProp ビデオ レンダラにパフォーマンス情報を照会する。
IVideoWindow ビデオ ウィンドウのプロパティを設定する。

TV の調整

インターフェイス目的
IAMTunerNotification TV チューナー フィルタからのイベント通知を受け取るコールバック インターフェイス。
IAMTVTuner TV チューナー デバイスを制御する。
IAMTVAudio TV チューナーからのオーディオを制御する。
IAMTVAudioNotification TV チューナー カードからのイベント通知を受け取るコールバック インターフェイス。
IAMAnalogVideoDecoder 水平ロックの表示を含むデジタル化フォーマットの選択と、デジタイザの位相同期の時間定数を制御するメソッドが入る。

外部デバイスの制御

インターフェイス目的
IAMCameraControl カメラを制御する。
IAMExtDevice VCR やカムコーダーなどの外部デバイスを制御する。
IAMExtTransport VCR の転送機能 (再生、ポーズ、録画、早送り、巻き戻しなど) を制御する。
IAMTimecodeDisplay SMPTE タイムコードを表示するデバイスにプロパティを設定する。
IAMTimecodeGenerator SMPTE タイムコードを生成するデバイスにプロパティを設定する。
IAMTimecodeReader 外部デバイスから SMPTE タイムコードを読み取る。