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

IMpegAudioDecoder

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

メソッド 13

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

vtbl 3 HRESULT get_FrequencyDivider(DWORD* pDivider)
pDividerDWORD*out現在の出力サンプリング周波数分周値をDWORD*で受け取る出力。
vtbl 4 HRESULT put_FrequencyDivider(DWORD Divider)
DividerDWORDin出力サンプリング周波数の分周値をDWORDで指定する入力。
vtbl 5 HRESULT get_DecoderAccuracy(DWORD* pAccuracy)
pAccuracyDWORD*out現在のデコード精度設定をDWORD*で受け取る出力。
vtbl 6 HRESULT put_DecoderAccuracy(DWORD Accuracy)
AccuracyDWORDinデコード精度(品質)を指定するDWORD入力。
vtbl 7 HRESULT get_Stereo(DWORD* pStereo)
pStereoDWORD*out現在のステレオ出力モードをDWORD*で受け取る出力。
vtbl 8 HRESULT put_Stereo(DWORD Stereo)
StereoDWORDinステレオ出力モードを指定するDWORD入力。
vtbl 9 HRESULT get_DecoderWordSize(DWORD* pWordSize)
pWordSizeDWORD*out現在の出力サンプルのワードサイズ(ビット)をDWORD*で受け取る出力。
vtbl 10 HRESULT put_DecoderWordSize(DWORD WordSize)
WordSizeDWORDin出力サンプルのワードサイズ(ビット)をDWORDで指定する入力。
vtbl 11 HRESULT get_IntegerDecode(DWORD* pIntDecode)
pIntDecodeDWORD*out整数デコードモードの現在状態をDWORD*で受け取る出力。
vtbl 12 HRESULT put_IntegerDecode(DWORD IntDecode)
IntDecodeDWORDin整数デコードモードを有効にするか否かを指定するDWORD入力。
vtbl 13 HRESULT get_DualMode(DWORD* pIntDecode)
pIntDecodeDWORD*inoutデュアルチャネル(2か国語)出力モードの現在状態をDWORD*で受け取る出力。
vtbl 14 HRESULT put_DualMode(DWORD IntDecode)
IntDecodeDWORDinデュアルチャネル出力モードを指定するDWORD入力。
vtbl 15 HRESULT get_AudioFormat(MPEG1WAVEFORMAT* lpFmt)
lpFmtMPEG1WAVEFORMAT*out現在のMPEGオーディオ出力形式を受け取るMPEG1WAVEFORMAT構造体への出力。

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 方式にも切替可。