AVISTREAMINFOA 構造体 (vfw.h)
AVISTREAMINFO 構造体には、1 つのストリームの情報が含まれています。
構文
typedef struct _AVISTREAMINFOA {
DWORD fccType;
DWORD fccHandler;
DWORD dwFlags;
DWORD dwCaps;
WORD wPriority;
WORD wLanguage;
DWORD dwScale;
DWORD dwRate;
DWORD dwStart;
DWORD dwLength;
DWORD dwInitialFrames;
DWORD dwSuggestedBufferSize;
DWORD dwQuality;
DWORD dwSampleSize;
RECT rcFrame;
DWORD dwEditCount;
DWORD dwFormatChangeCount;
char szName[64];
} AVISTREAMINFOA, *LPAVISTREAMINFOA;
メンバー
fccType
ストリームの種類を示す 4 文字のコード。 AVI ストリームでよく見られるデータに対して、次の定数が定義されています。
常時 | 説明 |
---|---|
|
オーディオ ストリームを示します。 |
|
MIDI ストリームを示します。 |
|
テキスト ストリームを示します。 |
|
ビデオ ストリームを示します。 |
fccHandler
保存時にこのビデオ ストリームを圧縮する圧縮ハンドラーの 4 文字のコード (たとえば、 mmioFOURCC ('M','S','V','C'))。 このメンバーは、オーディオ ストリームには使用されません。
dwFlags
ストリームに適用できるフラグ。 これらのフラグの上位ワードのビットは、ストリームに含まれるデータの種類に固有です。 次のフラグが定義されています。
名前 | 説明 |
---|---|
|
ユーザーが明示的に有効にしたときに、このストリームをレンダリングする必要があることを示します。 |
|
このビデオ ストリームにパレットの変更が含まれていることを示します。 このフラグは、パレットをアニメーション化する必要があることを再生ソフトウェアに警告します。 |
dwCaps
機能フラグ。現在使用されていません。
wPriority
ストリームの優先度。
wLanguage
ストリームの言語。
dwScale
ストリームに適用できる時間スケール。 dwRate を dwScale で除算すると、再生速度は 1 秒あたりのサンプル数で示されます。
ビデオ ストリームの場合、このレートはフレーム レートである必要があります。 オーディオ ストリームの場合、このレートはオーディオ ブロック サイズ (WAVEFORMAT または PCMWAVEFORMAT 構造体の nBlockAlign メンバー) に対応する必要があります。これは、PCM (パルス コード変調) オーディオの場合、サンプル レートまで低下します。
dwRate
整数形式のレート。 1 秒あたりのサンプル数の割合を取得するには、この値を dwScale の値で除算します。
dwStart
AVI ファイルの最初のフレームのサンプル番号。 単位は dwRate と dwScale によって定義されます。 通常、これは 0 ですが、ファイルと同時に開始されないストリームの遅延時間を指定できます。
AVI ツールの 1.0 リリースでは、0 以外の開始時刻はサポートされていません。
dwLength
このストリームの長さ。 単位は dwRate と dwScale によって定義されます。
dwInitialFrames
オーディオ スキュー。 このメンバーは、インターリーブされたファイル内のビデオ フレームの前にオーディオ データをスキューする量を指定します。 通常、これは約 0.75 秒です。
dwSuggestedBufferSize
ストリームに推奨されるバッファー サイズ (バイト単位)。 通常、このメンバーには、ストリーム内の最大チャンクに対応する値が含まれます。 正しいバッファー サイズを使用すると、再生がより効率的になります。 正しいバッファー サイズがわからない場合は、0 を使用します。
dwQuality
ストリーム内のビデオ データの品質インジケーター。 品質は、0 から 10,000 までの数値として表されます。 圧縮データの場合、これは通常、圧縮ソフトウェアに渡される品質パラメーターの値を表します。 –1 に設定すると、ドライバーは既定の品質値を使用します。
dwSampleSize
1 つのデータ サンプルのサイズ (バイト単位)。 このメンバーの値が 0 の場合、サンプルのサイズは異なる可能性があり、各データ サンプル (ビデオ フレームなど) は個別のチャンクに含まれている必要があります。 0 以外の値は、データの複数のサンプルをファイル内の 1 つのチャンクにグループ化できることを示します。
ビデオ ストリームの場合、この数値は通常 0 ですが、すべてのビデオ フレームが同じサイズの場合は 0 以外の場合があります。 オーディオ ストリームの場合、この数値は、オーディオを記述する WAVEFORMAT または WAVEFORMATEX 構造体の nBlockAlign メンバーと同じである必要があります。
rcFrame
ビデオの変換先の四角形の寸法。 値は、左上隅の座標、高さ、四角形の幅を表します。
dwEditCount
ストリームが編集された回数。 ストリーム ハンドラーはこの数を保持します。
dwFormatChangeCount
ストリーム形式が変更された回数。 ストリーム ハンドラーはこの数を保持します。
szName[64]
ストリームの説明を含む Null で終わる文字列。
注釈
注意
vfw.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AVISTREAMINFO を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | vfw.h |