Win32 API 日本語リファレンス
ホームMedia.Audio.XAudio2 › IXAudio2Voice

IXAudio2Voice

COM
自前メソッド開始 vtbl0

メソッド 19

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

vtbl 0 void GetVoiceDetails(XAUDIO2_VOICE_DETAILS* pVoiceDetails)
pVoiceDetailsXAUDIO2_VOICE_DETAILS*outボイスの作成パラメーター情報を受け取るXAUDIO2_VOICE_DETAILSへのポインター。
vtbl 1 HRESULT SetOutputVoices(XAUDIO2_VOICE_SENDS* pSendList)
pSendListXAUDIO2_VOICE_SENDS*inoptional新たな出力先ボイス一覧を記述するXAUDIO2_VOICE_SENDSへのポインター。NULLでマスタリングボイスへ送出。
vtbl 2 HRESULT SetEffectChain(XAUDIO2_EFFECT_CHAIN* pEffectChain)
pEffectChainXAUDIO2_EFFECT_CHAIN*inoptionalボイスに設定するエフェクトチェーンを記述するXAUDIO2_EFFECT_CHAINへのポインター。NULLで全エフェクト除去。
vtbl 3 HRESULT EnableEffect(DWORD EffectIndex, DWORD OperationSet)
EffectIndexDWORDin有効化するエフェクトのチェーン内インデックスを示すDWORD値。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 4 HRESULT DisableEffect(DWORD EffectIndex, DWORD OperationSet)
EffectIndexDWORDin無効化するエフェクトのチェーン内インデックスを示すDWORD値。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 5 void GetEffectState(DWORD EffectIndex, BOOL* pEnabled)
EffectIndexDWORDin状態を取得するエフェクトのチェーン内インデックスを示すDWORD値。
pEnabledBOOL*outエフェクトが有効かどうかを受け取るBOOLへの出力ポインター。
vtbl 6 HRESULT SetEffectParameters(DWORD EffectIndex, void* pParameters, DWORD ParametersByteSize, DWORD OperationSet)
EffectIndexDWORDinパラメーターを設定するエフェクトのチェーン内インデックスを示すDWORD値。
pParametersvoid*in設定する効果パラメーター構造体へのポインター。型はエフェクトに依存する。
ParametersByteSizeDWORDinパラメーター構造体のサイズをバイト単位で指定するDWORD値。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 7 HRESULT GetEffectParameters(DWORD EffectIndex, void* pParameters, DWORD ParametersByteSize)
EffectIndexDWORDinパラメーターを取得するエフェクトのチェーン内インデックスを示すDWORD値。
pParametersvoid*out現在の効果パラメーターを受け取るバッファーへのポインター。
ParametersByteSizeDWORDin受け取るパラメーターバッファーのサイズをバイト単位で指定するDWORD値。
vtbl 8 HRESULT SetFilterParameters(XAUDIO2_FILTER_PARAMETERS* pParameters, DWORD OperationSet)
pParametersXAUDIO2_FILTER_PARAMETERS*inボイスに設定するフィルターパラメーターを記述するXAUDIO2_FILTER_PARAMETERSへのポインター。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 9 void GetFilterParameters(XAUDIO2_FILTER_PARAMETERS* pParameters)
pParametersXAUDIO2_FILTER_PARAMETERS*out現在のフィルターパラメーターを受け取るXAUDIO2_FILTER_PARAMETERSへのポインター。
vtbl 10 HRESULT SetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, XAUDIO2_FILTER_PARAMETERS* pParameters, DWORD OperationSet)
pDestinationVoiceIXAudio2Voice*inoptionalフィルターを適用する送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。
pParametersXAUDIO2_FILTER_PARAMETERS*in設定する出力フィルターパラメーターを記述するXAUDIO2_FILTER_PARAMETERSへのポインター。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 11 void GetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, XAUDIO2_FILTER_PARAMETERS* pParameters)
pDestinationVoiceIXAudio2Voice*inoptional対象とする送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。
pParametersXAUDIO2_FILTER_PARAMETERS*out現在の出力フィルターパラメーターを受け取るXAUDIO2_FILTER_PARAMETERSへのポインター。
vtbl 12 HRESULT SetVolume(FLOAT Volume, DWORD OperationSet)
VolumeFLOATin全体の音量レベルを示すFLOAT値。1.0が原音、負値で位相反転となる。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 13 void GetVolume(FLOAT* pVolume)
pVolumeFLOAT*out現在の音量レベルを受け取るFLOATへの出力ポインター。
vtbl 14 HRESULT SetChannelVolumes(DWORD Channels, FLOAT* pVolumes, DWORD OperationSet)
ChannelsDWORDin音量を設定するチャンネル数を示すDWORD値。pVolumes配列の要素数と一致させる。
pVolumesFLOAT*in各チャンネルの音量レベルを格納したFLOAT配列へのポインター。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 15 void GetChannelVolumes(DWORD Channels, FLOAT* pVolumes)
ChannelsDWORDin取得するチャンネル数を示すDWORD値。pVolumes配列の要素数と一致させる。
pVolumesFLOAT*out各チャンネルの現在音量を受け取るFLOAT配列へのポインター。
vtbl 16 HRESULT SetOutputMatrix(IXAudio2Voice* pDestinationVoice, DWORD SourceChannels, DWORD DestinationChannels, FLOAT* pLevelMatrix, DWORD OperationSet)
pDestinationVoiceIXAudio2Voice*inoptional出力マトリクスを適用する送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。
SourceChannelsDWORDinソース側のチャンネル数を示すDWORD値。
DestinationChannelsDWORDin送出先側のチャンネル数を示すDWORD値。
pLevelMatrixFLOAT*in各入出力チャンネル間のミックスレベルを格納したFLOAT配列へのポインター。要素数はソース×送出先。
OperationSetDWORDin操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。
vtbl 17 void GetOutputMatrix(IXAudio2Voice* pDestinationVoice, DWORD SourceChannels, DWORD DestinationChannels, FLOAT* pLevelMatrix)
pDestinationVoiceIXAudio2Voice*inoptional対象とする送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。
SourceChannelsDWORDinソース側のチャンネル数を示すDWORD値。
DestinationChannelsDWORDin送出先側のチャンネル数を示すDWORD値。
pLevelMatrixFLOAT*out現在のミックスレベルマトリクスを受け取るFLOAT配列へのポインター。要素数はソース×送出先。
vtbl 18 void DestroyVoice()

HSP用 COM定義

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

出力引数:
#define global IID_IXAudio2Voice "{}"
#usecom global IXAudio2Voice IID_IXAudio2Voice "{}"
#comfunc global IXAudio2Voice_GetVoiceDetails            0 var
#comfunc global IXAudio2Voice_SetOutputVoices            1 var
#comfunc global IXAudio2Voice_SetEffectChain             2 var
#comfunc global IXAudio2Voice_EnableEffect               3 int,int
#comfunc global IXAudio2Voice_DisableEffect              4 int,int
#comfunc global IXAudio2Voice_GetEffectState             5 int,var
#comfunc global IXAudio2Voice_SetEffectParameters        6 int,sptr,int,int
#comfunc global IXAudio2Voice_GetEffectParameters        7 int,sptr,int
#comfunc global IXAudio2Voice_SetFilterParameters        8 var,int
#comfunc global IXAudio2Voice_GetFilterParameters        9 var
#comfunc global IXAudio2Voice_SetOutputFilterParameters  10 sptr,var,int
#comfunc global IXAudio2Voice_GetOutputFilterParameters  11 sptr,var
#comfunc global IXAudio2Voice_SetVolume                  12 float,int
#comfunc global IXAudio2Voice_GetVolume                  13 var
#comfunc global IXAudio2Voice_SetChannelVolumes          14 int,var,int
#comfunc global IXAudio2Voice_GetChannelVolumes          15 int,var
#comfunc global IXAudio2Voice_SetOutputMatrix            16 sptr,int,int,var,int
#comfunc global IXAudio2Voice_GetOutputMatrix            17 sptr,int,int,var
#comfunc global IXAudio2Voice_DestroyVoice               18
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。