AVISTREAMINFOW 構造体 (vfw.h)
AVISTREAMINFO 構造体には、1 つのストリームに関する情報が含まれています。
構文
typedef struct _AVISTREAMINFOW {
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;
WCHAR szName[64];
} AVISTREAMINFOW, *LPAVISTREAMINFOW;
メンバーズ
fccType
ストリームの種類を示す 4 文字のコード。 AVI ストリームで一般的に見られるデータに対して、次の定数が定義されています。
定数 | 形容 |
---|---|
|
オーディオ ストリームを示します。 |
|
MIDI ストリームを示します。 |
|
テキスト ストリームを示します。 |
|
ビデオ ストリームを示します。 |
fccHandler
保存時にこのビデオ ストリームを圧縮するコンプレッサー ハンドラーの 4 文字のコード (たとえば、mmioFOURCC ('M','S','V','C') など)。 このメンバーは、オーディオ ストリームには使用されません。
dwFlags
ストリームに適用できるフラグ。 これらのフラグの上位ワードのビットは、ストリームに含まれるデータの種類に固有です。 次のフラグが定義されています。
名前 | 形容 |
---|---|
|
ユーザーが明示的に有効にしたときに、このストリームをレンダリングする必要があることを示します。 |
|
このビデオ ストリームにパレットの変更が含まれていることを示します。 このフラグは、パレットをアニメーション化する必要があることを再生ソフトウェアに警告します。 |
dwCaps
機能フラグ。現在使用されていません。
wPriority
ストリームの優先順位。
wLanguage
ストリームの言語。
dwScale
ストリームに適用できる時間スケール。 dwRate
ビデオ ストリームの場合、このレートはフレーム レートである必要があります。 オーディオ ストリームの場合、このレートは、PCM (パルス コード変調) オーディオの場合、サンプル レートに減少するオーディオ ブロック サイズ (WAVEFORMAT または PCMWAVEFORMAT 構造体の nBlockAlign メンバー) に対応する必要があります。
dwRate
整数形式のレート。 1 秒あたりのサンプル数のレートを取得するには、この値を dwScaleの値
dwStart
AVI ファイルの最初のフレームのサンプル番号。 単位は dwRate と dwScale
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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー | vfw.h |
関連項目
AVIFile 関数とマクロ を
WAVEFORMATEX を