Win32 API 日本語リファレンス
ホームMedia.DirectShow › IMpegAudioDecoder

IMpegAudioDecoder

COM
IIDb45dd570-3c77-11d1-abe1-00a0c905f375継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IMpegAudioDecoder インターフェイスは MPEG-1 Audio Decoder フィルターで公開され、アプリケーションがデコードパラメーターを制御できるようにします。

メソッド 13

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_FrequencyDivider(DWORD* pDivider)

CD オーディオ、FM ラジオ、または AM ラジオに相当する品質設定として周波数分周値を返します。

pDividerDWORD*out周波数分周値を受け取ります。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 4 HRESULT put_FrequencyDivider(DWORD Divider)

CD オーディオ、FM ラジオ、または AM ラジオの品質に対応する 3 段階の設定として周波数分周値を指定します。

DividerDWORDin分周値を指定します。1 = "CD Audio"、2 = "FM Radio"、4 = "AM Radio"。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 5 HRESULT get_DecoderAccuracy(DWORD* pAccuracy)

デコーダーの精度を 3 段階の品質設定として返します。

pAccuracyDWORD*out品質設定を示します。0 = 最良 (best)、0x4000 = 高 (high)、0x8000 = 完全 (full)。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 6 HRESULT put_DecoderAccuracy(DWORD Accuracy)

デコーダーの精度を 3 段階の品質設定として指定します。

AccuracyDWORDin品質設定を示します。0 = 最良 (best)、0x4000 = 高 (high)、0x8000 = 完全 (full)。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 7 HRESULT get_Stereo(DWORD* pStereo)

デコーダーがエンコードされたストリームをステレオとモノラルのいずれの PCM にデコードしているかを返します。

pStereoDWORD*outデコーダーが PCM モノラルとステレオのいずれで出力しているかを示します。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 8 HRESULT put_Stereo(DWORD Stereo)

デコーダーがエンコードされたストリームをステレオとモノラルのいずれの PCM にデコードするかを指定します。

StereoDWORDinデコード出力の種類を指定します。1 = モノラル、2 = ステレオ。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 9 HRESULT get_DecoderWordSize(DWORD* pWordSize)

デコードに使用されるワードサイズ (8 ビットまたは 16 ビット) を返します。

pWordSizeDWORD*outワードサイズを示します。値は 8 または 16 のいずれかです。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 10 HRESULT put_DecoderWordSize(DWORD WordSize)

デコーダーが使用するワードサイズを指定します。

WordSizeDWORDinワードサイズを指定します。値は 8 または 16 でなければなりません。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 11 HRESULT get_IntegerDecode(DWORD* pIntDecode)

デコーダーが現在、浮動小数点デコードではなく整数ベースのデコードを使用しているかどうかを返します。

pIntDecodeDWORD*outデコーダーが整数ベースのデコードを使用しているかどうかを示します。0 は浮動小数点ベースのデコードを使用していることを、1 は整数ベースのデコードを使用していることを意味します。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 12 HRESULT put_IntegerDecode(DWORD IntDecode)

デコーダーが整数ベースのデコードを使用するかどうかを指定します。

IntDecodeDWORDinデコードモードを指定します。0 = 浮動小数点モード、1 = 整数モード。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 13 HRESULT get_DualMode(DWORD* pIntDecode)

現在デコードされているチャンネルを返します。

pIntDecodeDWORD*inoutデコード対象のチャンネルを示します。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

pIntDecode パラメーターには次の表のいずれかの値を指定できます。

Constant Description
AM_MPEG_AUDIO_DUAL_MERGE 両方のチャンネルがデコードされます。
AM_MPEG_AUDIO_DUAL_LEFT 左チャンネルがデコードされます。
AM_MPEG_AUDIO_DUAL_RIGHT 右チャンネルがデコードされます。
vtbl 14 HRESULT put_DualMode(DWORD IntDecode)

デコード対象のチャンネルを指定します。

IntDecodeDWORDinデコード対象のチャンネルを指定します。有効な値については解説を参照してください。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

次の表は pIntDecode パラメーターの有効な値を示します。

Constant Description
AM_MPEG_AUDIO_DUAL_MERGE 両方のチャンネルをデコードすることを指定します。
AM_MPEG_AUDIO_DUAL_LEFT 左チャンネルをデコードすることを指定します。
AM_MPEG_AUDIO_DUAL_RIGHT 右チャンネルをデコードすることを指定します。

このメソッドは、オーディオストリームに 2 つのモノラルチャンネルを持つ Video CD (VCD) 形式のカラオケディスクに便利です。

vtbl 15 HRESULT get_AudioFormat(MPEG1WAVEFORMAT* lpFmt)

接続された入力ピンのオーディオ形式を返します。

lpFmtMPEG1WAVEFORMAT*outMPEG1WAVEFORMAT 構造体へのポインター。メソッドは形式データをこの構造体にコピーします。

戻り値

このメソッドは HRESULT を返します。指定可能な値には次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IMpegAudioDecoder "{B45DD570-3C77-11D1-ABE1-00A0C905F375}"
#usecom global IMpegAudioDecoder IID_IMpegAudioDecoder "{}"
#comfunc global IMpegAudioDecoder_get_FrequencyDivider  3 var
#comfunc global IMpegAudioDecoder_put_FrequencyDivider  4 int
#comfunc global IMpegAudioDecoder_get_DecoderAccuracy   5 var
#comfunc global IMpegAudioDecoder_put_DecoderAccuracy   6 int
#comfunc global IMpegAudioDecoder_get_Stereo            7 var
#comfunc global IMpegAudioDecoder_put_Stereo            8 int
#comfunc global IMpegAudioDecoder_get_DecoderWordSize   9 var
#comfunc global IMpegAudioDecoder_put_DecoderWordSize   10 int
#comfunc global IMpegAudioDecoder_get_IntegerDecode     11 var
#comfunc global IMpegAudioDecoder_put_IntegerDecode     12 int
#comfunc global IMpegAudioDecoder_get_DualMode          13 var
#comfunc global IMpegAudioDecoder_put_DualMode          14 int
#comfunc global IMpegAudioDecoder_get_AudioFormat       15 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。