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

IAudioAmbisonicsControl

COM
IID28724c91-df35-4856-9f76-d6a26413f3df継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT SetData(AMBISONICS_PARAMS* pAmbisonicsParams, DWORD cbAmbisonicsParams)
pAmbisonicsParamsAMBISONICS_PARAMS*inアンビソニックスの構成パラメータを記述したAMBISONICS_PARAMS構造体配列へのポインタ。
cbAmbisonicsParamsDWORDinpAmbisonicsParamsが指すデータのバイトサイズ。
vtbl 4 HRESULT SetHeadTracking(BOOL bEnableHeadTracking)
bEnableHeadTrackingBOOLinヘッドトラッキングを有効にするか指定するBOOL値。TRUEで有効化。
vtbl 5 HRESULT GetHeadTracking(BOOL* pbEnableHeadTracking)
pbEnableHeadTrackingBOOL*outヘッドトラッキングの現在の有効状態を受け取るBOOLへのポインタ。
vtbl 6 HRESULT SetRotation(FLOAT X, FLOAT Y, FLOAT Z, FLOAT W)
XFLOATin音場の回転を表すクォータニオンのX成分(FLOAT)。
YFLOATin音場の回転を表すクォータニオンのY成分(FLOAT)。
ZFLOATin音場の回転を表すクォータニオンのZ成分(FLOAT)。
WFLOATin音場の回転を表すクォータニオンのW(スカラー)成分(FLOAT)。

HSP用 COM定義

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

出力引数:
#define global IID_IAudioAmbisonicsControl "{28724C91-DF35-4856-9F76-D6A26413F3DF}"
#usecom global IAudioAmbisonicsControl IID_IAudioAmbisonicsControl "{}"
#comfunc global IAudioAmbisonicsControl_SetData          3 var,int
#comfunc global IAudioAmbisonicsControl_SetHeadTracking  4 int
#comfunc global IAudioAmbisonicsControl_GetHeadTracking  5 var
#comfunc global IAudioAmbisonicsControl_SetRotation      6 float,float,float,float
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。