Microsoft DirectX 8.0

IAudioMediaStream インターフェイス

IAudioMediaStream インターフェイスは、ストリームのフォーマットを設定および取得するメソッドを提供することにより、オーディオ メディア ストリームを制御する。このインターフェイスは、IMediaStream インターフェイスを継承し、1 つ以上の IAudioStreamSample オブジェクトを作成するために使用される。また、ストリーム データの現在のフォーマットを設定および取得することもできる。

現在、このインターフェイスは PCM フォーマットのオーディオ データ用のみに定義されている。

オーディオ ストリーミング インターフェイスを実装するサンプル コードについては、「マルチメディア ストリーミングのサンプル コード」を参照すること。

ビデオ同様、オーディオはその内容を記述するコンテナ オブジェクトに格納される。オブジェクトからオーディオのストリーミングを制御する必要がある場合は、このインターフェイスを実装する。

アプリケーションでオーディオを生成するには、このインターフェイスを使用する。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IAudioMediaStream メソッド説明
GetFormat ストリーム データの現在のフォーマットを取得する。
SetFormat ストリームのフォーマットを設定する。
CreateSample このストリームで使用するオーディオ ストリーム サンプルを作成する。

IAudioMediaStream::CreateSample

IAudioMediaStream インターフェイス

指定されたストリームで使用するオーディオ ストリーム サンプルを作成する。

構文

HRESULT CreateSample(
    IAudioData *pAudioData,
    DWORD dwFlags,
    IAudioStreamSample **ppSample
    );

パラメータ

pAudioData
[in] IAudioData コンテナへのポインタ。IAudioData オブジェクトは複数のストリームのサンプルから参照できる。
dwFlags
[in] フラグ データ用に予約されている。ゼロでなくてはならない。
ppSample
[out] 新しい IAudioStreamSample インターフェイスへのポインタのアドレス。

戻り値

成功した場合は、S_OK を返す。NULL の必須パラメータがある場合は、E_POINTER を返す。

注意

pAudioData オブジェクトでデータのフォーマットを定義する。

IAudioMediaStream::GetFormat

IAudioMediaStream インターフェイス

ストリーム データの現在のフォーマットを取得する。

構文

HRESULT GetFormat(
    WAVEFORMATEX *pWaveFormatCurrent );

パラメータ

pWaveFormatCurrent
[out] ストリーム データの現在のフォーマットが格納された WAVEFORMATEX 構造体へのポインタ。

戻り値

成功した場合は、S_OK を返す。必須パラメータが NULL の場合は、E_POINTER を返す。

注意

現在、Microsoft® DirectShow® は PCM ウェーブ データのみをサポートする。

IAudioMediaStream::SetFormat

IAudioMediaStream インターフェイス

ストリームのフォーマットを設定する。

構文

HRESULT SetFormat(
const WAVEFORMATEX *lpWaveFormat
    );

パラメータ

lpWaveFormat
[in] ストリーム フォーマット情報が格納された WAVEFORMATEX 構造体へのポインタ。

戻り値

HRESULT 値を返す。この値は、以下の値か、または一覧に示されていないその他の値となる。
MS_E_INCOMPATIBLEIAudioData オブジェクトのフォーマットがストリームと互換でない。
E_POINTERNull ポインタ引数。
E_INVALIDARG無効な引数。
S_OK成功。