ホーム › Media.Audio.XAudio2 › IXAudio2MasteringVoice
IXAudio2MasteringVoice
COM公式ドキュメント
mastering voice は、オーディオ出力デバイスを表すために使用されます。
解説(Remarks)
プラットフォーム要件
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このボイスのチャネルマスクを返します。
| pChannelmask | DWORD* | out | このボイスのチャネルマスクを返します。これは WAVEFORMATEXTENSIBLE 構造体の dwChannelMask メンバーに対応します。 |
戻り値
このメソッドは値を返しません。
解説(Remarks)
pChannelMask 引数は、オーディオシステムから報告されるスピーカー配置内の各種チャネルのビットマスクです。この情報は、X3DAudioInitialize の SpeakerChannelMask パラメーターに必要です。
X3DAUDIO.H ヘッダーは、これらのチャネルマスクをデコードするための多数の SPEAKER_ 位置定義を宣言しています。
例:
SPEAKER_STEREO // SPEAKER_FRONT_LEFT (0x1) | SPEAKER_FRONT_RIGHT (0x2)
SPEAKER_5POINT1 // SPEAKER_FRONT_LEFT (0x1) | SPEAKER_FRONT_RIGHT (0x2)
// | SPEAKER_FRONT_CENTER (0x4)
// | SPEAKER_LOW_FREQUENCY (0x8)
// | SPEAKER_BACK_LEFT (0x10) | SPEAKER_BACK_RIGHT (0x20)
Note DirectX SDK 版の XAUDIO では、出力デバイスのチャネルマスクは IXAudio2::GetDeviceDetails メソッドを通じて取得していましたが、このメソッドは Windows 8 以降には存在しません。
プラットフォーム要件
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8)出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXAudio2MasteringVoice "{}" #usecom global IXAudio2MasteringVoice IID_IXAudio2MasteringVoice "{}" #comfunc global IXAudio2MasteringVoice_GetChannelMask 19 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IXAudio2MasteringVoice "{}" #usecom global IXAudio2MasteringVoice IID_IXAudio2MasteringVoice "{}" #comfunc global IXAudio2MasteringVoice_GetChannelMask 19 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。