ホーム › Media.Audio.XAudio2 › IXAudio2Voice
IXAudio2Voice
COMメソッド 19
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 0 void GetVoiceDetails(XAUDIO2_VOICE_DETAILS* pVoiceDetails)
| pVoiceDetails | XAUDIO2_VOICE_DETAILS* | out | ボイスの作成パラメーター情報を受け取るXAUDIO2_VOICE_DETAILSへのポインター。 |
vtbl 1 HRESULT SetOutputVoices(XAUDIO2_VOICE_SENDS* pSendList)
| pSendList | XAUDIO2_VOICE_SENDS* | inoptional | 新たな出力先ボイス一覧を記述するXAUDIO2_VOICE_SENDSへのポインター。NULLでマスタリングボイスへ送出。 |
vtbl 2 HRESULT SetEffectChain(XAUDIO2_EFFECT_CHAIN* pEffectChain)
| pEffectChain | XAUDIO2_EFFECT_CHAIN* | inoptional | ボイスに設定するエフェクトチェーンを記述するXAUDIO2_EFFECT_CHAINへのポインター。NULLで全エフェクト除去。 |
| EffectIndex | DWORD | in | 有効化するエフェクトのチェーン内インデックスを示すDWORD値。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
| EffectIndex | DWORD | in | 無効化するエフェクトのチェーン内インデックスを示すDWORD値。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
| EffectIndex | DWORD | in | 状態を取得するエフェクトのチェーン内インデックスを示すDWORD値。 |
| pEnabled | BOOL* | out | エフェクトが有効かどうかを受け取るBOOLへの出力ポインター。 |
vtbl 6 HRESULT SetEffectParameters(DWORD EffectIndex, void* pParameters, DWORD ParametersByteSize, DWORD OperationSet)
| EffectIndex | DWORD | in | パラメーターを設定するエフェクトのチェーン内インデックスを示すDWORD値。 |
| pParameters | void* | in | 設定する効果パラメーター構造体へのポインター。型はエフェクトに依存する。 |
| ParametersByteSize | DWORD | in | パラメーター構造体のサイズをバイト単位で指定するDWORD値。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
| EffectIndex | DWORD | in | パラメーターを取得するエフェクトのチェーン内インデックスを示すDWORD値。 |
| pParameters | void* | out | 現在の効果パラメーターを受け取るバッファーへのポインター。 |
| ParametersByteSize | DWORD | in | 受け取るパラメーターバッファーのサイズをバイト単位で指定するDWORD値。 |
vtbl 8 HRESULT SetFilterParameters(XAUDIO2_FILTER_PARAMETERS* pParameters, DWORD OperationSet)
| pParameters | XAUDIO2_FILTER_PARAMETERS* | in | ボイスに設定するフィルターパラメーターを記述するXAUDIO2_FILTER_PARAMETERSへのポインター。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
vtbl 9 void GetFilterParameters(XAUDIO2_FILTER_PARAMETERS* pParameters)
| pParameters | XAUDIO2_FILTER_PARAMETERS* | out | 現在のフィルターパラメーターを受け取るXAUDIO2_FILTER_PARAMETERSへのポインター。 |
vtbl 10 HRESULT SetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, XAUDIO2_FILTER_PARAMETERS* pParameters, DWORD OperationSet)
| pDestinationVoice | IXAudio2Voice* | inoptional | フィルターを適用する送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。 |
| pParameters | XAUDIO2_FILTER_PARAMETERS* | in | 設定する出力フィルターパラメーターを記述するXAUDIO2_FILTER_PARAMETERSへのポインター。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
vtbl 11 void GetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, XAUDIO2_FILTER_PARAMETERS* pParameters)
| pDestinationVoice | IXAudio2Voice* | inoptional | 対象とする送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。 |
| pParameters | XAUDIO2_FILTER_PARAMETERS* | out | 現在の出力フィルターパラメーターを受け取るXAUDIO2_FILTER_PARAMETERSへのポインター。 |
| Volume | FLOAT | in | 全体の音量レベルを示すFLOAT値。1.0が原音、負値で位相反転となる。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
vtbl 13 void GetVolume(FLOAT* pVolume)
| pVolume | FLOAT* | out | 現在の音量レベルを受け取るFLOATへの出力ポインター。 |
| Channels | DWORD | in | 音量を設定するチャンネル数を示すDWORD値。pVolumes配列の要素数と一致させる。 |
| pVolumes | FLOAT* | in | 各チャンネルの音量レベルを格納したFLOAT配列へのポインター。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
| Channels | DWORD | in | 取得するチャンネル数を示すDWORD値。pVolumes配列の要素数と一致させる。 |
| pVolumes | FLOAT* | out | 各チャンネルの現在音量を受け取るFLOAT配列へのポインター。 |
vtbl 16 HRESULT SetOutputMatrix(IXAudio2Voice* pDestinationVoice, DWORD SourceChannels, DWORD DestinationChannels, FLOAT* pLevelMatrix, DWORD OperationSet)
| pDestinationVoice | IXAudio2Voice* | inoptional | 出力マトリクスを適用する送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。 |
| SourceChannels | DWORD | in | ソース側のチャンネル数を示すDWORD値。 |
| DestinationChannels | DWORD | in | 送出先側のチャンネル数を示すDWORD値。 |
| pLevelMatrix | FLOAT* | in | 各入出力チャンネル間のミックスレベルを格納したFLOAT配列へのポインター。要素数はソース×送出先。 |
| OperationSet | DWORD | in | 操作を遅延適用する操作セット識別子。即時適用はXAUDIO2_COMMIT_NOW。 |
vtbl 17 void GetOutputMatrix(IXAudio2Voice* pDestinationVoice, DWORD SourceChannels, DWORD DestinationChannels, FLOAT* pLevelMatrix)
| pDestinationVoice | IXAudio2Voice* | inoptional | 対象とする送出先のIXAudio2Voiceへのポインター。NULLで唯一の送出先を対象。 |
| SourceChannels | DWORD | in | ソース側のチャンネル数を示すDWORD値。 |
| DestinationChannels | DWORD | in | 送出先側のチャンネル数を示すDWORD値。 |
| pLevelMatrix | FLOAT* | 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 指定が可能。#define global IID_IXAudio2Voice "{}" #usecom global IXAudio2Voice IID_IXAudio2Voice "{}" #comfunc global IXAudio2Voice_GetVoiceDetails 0 sptr #comfunc global IXAudio2Voice_SetOutputVoices 1 sptr #comfunc global IXAudio2Voice_SetEffectChain 2 sptr #comfunc global IXAudio2Voice_EnableEffect 3 int,int #comfunc global IXAudio2Voice_DisableEffect 4 int,int #comfunc global IXAudio2Voice_GetEffectState 5 int,sptr #comfunc global IXAudio2Voice_SetEffectParameters 6 int,sptr,int,int #comfunc global IXAudio2Voice_GetEffectParameters 7 int,sptr,int #comfunc global IXAudio2Voice_SetFilterParameters 8 sptr,int #comfunc global IXAudio2Voice_GetFilterParameters 9 sptr #comfunc global IXAudio2Voice_SetOutputFilterParameters 10 sptr,sptr,int #comfunc global IXAudio2Voice_GetOutputFilterParameters 11 sptr,sptr #comfunc global IXAudio2Voice_SetVolume 12 float,int #comfunc global IXAudio2Voice_GetVolume 13 sptr #comfunc global IXAudio2Voice_SetChannelVolumes 14 int,sptr,int #comfunc global IXAudio2Voice_GetChannelVolumes 15 int,sptr #comfunc global IXAudio2Voice_SetOutputMatrix 16 sptr,int,int,sptr,int #comfunc global IXAudio2Voice_GetOutputMatrix 17 sptr,int,int,sptr #comfunc global IXAudio2Voice_DestroyVoice 18 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。