Windows Media Audio Encoder

Windows Media Audio エンコーダーでは、オーディオ ストリームをエンコードします。 エンコーダーでは、エンコードされた出力の 3 つのカテゴリ (Windows Media Audio Standard、Windows Media Audio Professional、Windows Media Audio Lossless) をサポートしています。

クラス識別子

Windows Media Audio Encoder のクラス識別子 (CLSID) は、定数 CLSID_CWMAEncMediaObject で表されます。 オーディオ エンコーダーのインスタンスは CoCreateInstance を呼び出すことで作成できます。

入力形式

次の表に、Windows Media Audio エンコーダーでサポートされる入力カテゴリを表すオーディオ形式タグを示します。 エンコーダーの入力と出力の種類を設定する方法については、「オーディオ エンコードの構成」を参照してください。

タグ定数の書式設定 タグ値の書式設定 音声の形式
WAVE_FORMAT_PCM 0x0001 PCM 形式
WAVE_FORMAT_IEEE_FLOAT 0x0003 IEEE 浮動小数点
WAVE_FORMAT_EXTENSIBLE 0xFFFE WAVEFORMATEXTENSIBLE 構造体の PCM/IEEE 形式

 

出力形式

次の表に、Windows Media Audio エンコーダーでサポートされる出力カテゴリを表すオーディオ形式タグを示します。

タグ定数の書式設定 タグ値の書式設定 音声の形式
WAVE_FORMAT_WMAUDIO2 0x0161 Windows Media Audio Standard
WAVE_FORMAT_WMAUDIO3 0x0162 Windows Media Audio Professional
WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163 Windows Media Audio Lossless

 

インターフェイス

オーディオ エンコーダー オブジェクトでは、オブジェクトを DirectX Media Object (DMO) として使用できるよう、IMediaObject インターフェイスが公開され、オブジェクトを Media Foundation Transform (MFT) として使用できるよう、IMFTransform インターフェイスが公開されます。

Windows Media Audio エンコーダーは、取得したインターフェイスと実行している Windows のバージョンに応じて DMO または MFT として動作します。 次の表は、オーディオ エンコーダーが DMO または MFT として動作する条件を示しています。

オペレーティング システム エンコーダーの動作
Windows XP Windows Media Audio エンコーダーは常に DMO として動作します。
Windows Vista 既定では、Windows Media Audio エンコーダーは DMO として動作します。 オーディオ エンコーダーで IMFTransform インターフェイスまたは IPropertyStore インターフェイスを取得すると、エンコーダーは MFT として動作します。
Windows 7 既定では、Windows Media Audio エンコーダーは DMO として動作します。 オーディオ エンコーダーで IMFTransform インターフェイスを取得すると、エンコーダーは MFT として動作します。

 

エンコーダーのプロパティ

Windows Media Audio エンコーダーでは、次のプロパティがサポートされています。

プロパティ 説明
MFPKEY_AVGCONSTRAINED エンコーダーで平均制御可能な VBR エンコードが使用されるか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_BMAX ピーク ビット レートでの制約付き可変ビット レート (VBR) ストリームのバッファー ウィンドウをミリ秒単位で指定します。
Windows XP 以降。
Standard、Professional。
読み取りと書き込みが可能です。
MFPKEY_CHECKDATACONSISTENCY2P 2 パス VBR エンコードを実行するとき、パス間のデータ整合性をエンコーダーで確認するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_CONSTRAINDECLATENCY デコーダーの最大遅延要件によってエンコーダーが制約されるか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_CONSTRAINENCCOMPLEXITY エンコード アルゴリズムの複雑性が制約されるか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_CONSTRAINENCLATENCY 最大遅延要件によってエンコーダーが制約されるか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_CONSTRAIN_ENUMERATED_VBRQUALITY エンコーダーによって列挙されるモードが、品質要件を満たすモードに限定されるか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DECODERCOMPLEXITYPROFILE エンコードされたコンテンツの複雑性プロファイルを指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_DESIRED_VBRQUALITY VBR エンコードに望ましい品質レベルを指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
書き込み専用です。
MFPKEY_DYN_ALLOW_NOISESUB エンコーダーでノイズ置換を使用するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_ALLOW_PCMRANGELIMITING エンコーダーで PCM 範囲制限を使用するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_BANDTRUNC_BWCEIL エンコーダーのバンド切り捨てによって許容される最大コード化帯域幅を指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_BANDTRUNC_BWFLOOR エンコーダーのバンド切り捨てによって許容される最小コード化帯域幅を指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_BANDTRUNC_QCEIL 最小コード化帯域幅が許可される品質を指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_BANDTRUNC_QFLOOR 最大コード化帯域幅が許可される品質を指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_BANDTRUNCATION エンコーダーでバンド切り捨てを実行するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_SIMPLEMASK Windows Media Audio エンコーダーのバージョン 7 で実行されるマスク計算のスタイルをエンコーダーで使用するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_STEREO_PREPROC エンコーダーでステレオ画像処理を実行するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_VBR_BAVG 平均制御可能な VBR エンコードを使用するように構成されたエンコーダーのバッファー ウィンドウをミリ秒単位で指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_DYN_VBR_RAVG 平均制御可能な VBR エンコードを使用するように構成されたエンコーダーの平均ビット レートを 1 秒あたりのビット数で指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_ENCCOMPLEXITY エンコード アルゴリズムの複雑性を指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_ENDOFPASS エンコード パスの終了を指定します。
Windows XP 以降。
Standard、Professional。
書き込み専用です。
MFPKEY_ENHANCED_WMA コア エンコーダーで "Plus" 機能を使用するか指定します。
Windows Vista 以降。
Professional。
読み取りと書き込みが可能です。
MFPKEY_MAXDECLATENCYMS デコーダーの最大遅延をミリ秒単位で指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
書き込み専用です。
MFPKEY_MAXENCLATENCYMS エンコーダーの最大遅延をミリ秒単位で指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
書き込み専用です。
MFPKEY_MOST_RECENTLY_ENUMERATED_VBRQUALITY 最近列挙された出力の種類の VBR 品質レベルを指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_PASSESRECOMMENDED エンコーダーでサポートされるパスの最大数を指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_PASSESUSED コンテンツをエンコードする目的でエンコーダーで使用されるパスの数を指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_PEAKCONSTRAINED エンコーダーがピーク ビット レートによって制約されるか指定します。
Windows Vista 以降。
Standard、Professional。
読み取りと書き込みが可能です。
MFPKEY_PREFERRED_FRAMESIZE フレームあたりのサンプルの推奨数を指定します。
Windows Vista 以降。
Professional。
読み取りと書き込みが可能です。
MFPKEY_REQUESTING_A_FRAMESIZE 推奨フレーム サイズをエンコーダーで使用するか指定します。
Windows Vista 以降。
Professional。
読み取りと書き込みが可能です。
MFPKEY_RMAX 制約付き 2 パス可変ビット レート (VBR) エンコードに使用されるピーク ビット レートを 1 秒あたりのビット数で指定します。
Windows XP 以降。
Standard、Professional。
読み取りと書き込みが可能です。
MFPKEY_STAT_BAVG エンコードされたストリームの平均バッファー ウィンドウをミリ秒単位で指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_STAT_BMAX エンコードされたストリームの最大バッファー ウィンドウをミリ秒単位で指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_STAT_RAVG エンコードされたストリームの平均ビット レートを 1 秒あたりのビット数で指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_STAT_RMAX エンコードされたストリームの最大ビット レートを 1 秒あたりのビット数で指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_VBRENABLED エンコーダーで VBR エンコードを使用するか指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_WMA_ELEMENTARY_STREAM このプロパティは現在、Windows Media Audio コーデックでは使用されていません。
MFPKEY_WMADRC_AVGREF オーディオ コンテンツの平均ボリューム レベルを指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_WMADRC_PEAKREF オーディオ コンテンツで発生する最大ボリューム レベルを指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_WMAENC_AVGBYTESPERSEC VBR でエンコードされたオーディオの 1 秒あたりの平均バイト数を指定します。
Windows XP 以降。
Standard、Professional、Lossless。
読み取り専用です。
MFPKEY_WMAENC_BUFFERLESSCBR エンコーダーでフレームごとに 1 つの WMA パケットを生成するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_WMAENC_GENERATE_DRC_PARAMS エンコーダーでダイナミック レンジ制御パラメーターを生成するか指定します。
Windows Vista 以降。
Standard、Professional、Lossless。
読み取りと書き込みが可能です。
MFPKEY_WMAENC_ORIGWAVEFORMAT 入力オーディオ コンテンツを記述する WAVEFORMATEX 構造体を指定します。
Windows XP 以降。
Standard、Professional。
読み取りと書き込みが可能です。
MFPKEY_WMAENC_RTSPDIF エンコーダーでリアルタイム S/PDIF エンコードを有効にするか指定します。
Windows Vista 以降。
Professional。
読み取りと書き込みが可能です。

 

必要条件

要件 Value
クライアント
Windows XP、Windows Vista、Windows 7
ヘッダー
Wmcodecdsp.h
[DLL]
Wmadmoe.dll

関連項目

コーデック オブジェクト

コーデック実装