IXAudio2::CreateMasteringVoice
マスター ボイスを作成し、設定します。
HRESULT
CreateMasteringVoice(
IXAudio2MasteringVoice **ppMasteringVoice,
UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS,
UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE,
UINT32 Flags = 0,
UINT32 DeviceIndex = 0,
const XAUDIO2_EFFECT_CHAIN *pEffectChain = NULL
);
パラメータ
ppMasteringVoice
- 成功した場合、新しい IXAudio2MasteringVoice オブジェクトへのポインターを返します。
InputChannels
- 入力オーディオで予想されるマスター ボイスのチャンネル数です。
Input Channels は XAUDIO2_DEFAULT_CHANNELS に設定可能であり、既定値は現在のプラットフォームによって決まります。
Windows: システム スピーカーの構成のセットアップ方法の検出を試みます。
Xbox 360: 既定は、5.1 サラウンドです。
- InputSampleRate
マスター ボイスの入力オーディオ データのサンプリング レートです。このレートは、XAUDIO2_QUANTUM_DENOMINATOR の倍数でなければなりません。 InputSampleRate は XAUDIO2_DEFAULT_SAMPLERATE に設定可能であり、既定値は現在のプラットフォームによって決まります。
Windows: 既定は 44100 または 48000 です (ドライバーの機能による)。
Xbox 360: 既定は、48000 です。
Flags
- マスター ボイスの動作を指定するフラグです。0 を指定します。
DeviceIndex
- マスター ボイスからの入力が送られる出力デバイスのインデックスです。
pEffectChain
- マスター ボイスで使用されるエフェクト チェーンを表す XAUDIO2_EFFECT_CHAIN 構造体へのポインターです。エフェクトを使用しない場合は NULL です。
戻り値
正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。XAudio2 固有のエラー コードの説明については、「XAudio2 エラー コード」を参照してください。
解説
マスター ボイスは、1 つまたは複数のソース ボイスまたはサブミックス ボイスの出力を受け取ります。マスター ボイスは、データを処理して、データをオーディオ出力デバイスに送信します。
通常、マスター ボイスは、タイトルのオーディオ コンテンツの大半で使用される入力サンプル レートを使用して作成される必要があります。マスター ボイスは、この入力サンプル レートから実際のデバイス出力レートへのサンプル レート変換を実行します。そのほかに、IXAudio2::GetDeviceDetails を使用してネイティブ オーディオ レートを検出することもできます。IXAudio2::GetDeviceDetails は、タイトルのオーディオ グラフの大半で使用可能です。
マスター ボイスが存在しなければ、ソース ボイスまたはサブミックス ボイスを作成することはできません。また、ソース ボイスまたはサブミックス ボイスが存在している間は、マスター ボイスを破棄することはできません。
マスター ボイスは、常に、すべてのソース ボイスおよびサブミックス ボイスの後で処理されます。したがって、処理順序を制御するために ProcessingStage パラメーターを指定する必要はありません。
複数のマスター ボイスが同時に存在しても問題ありませんが、開始できるのは一度に 1 つだけです。XAudio2 が使用できるデバイスは一度に 1 つだけです。
最初に作成したとき、マスター ボイスは開始された状態になっています。
コールバック内からの CreateMasteringVoice の呼び出しは無効です。コールバック内から CreateMasteringVoice を呼び出すと、XAUDIO2_E_INVALID_CALL が返されます。
要件
ヘッダー: Xaudio2.h 宣言
関連項目
IXAudio2, 方法 : オーディオ デバイスの列挙, 方法 : 基本的なオーディオ処理グラフの作成, XAudio2 のサンプル レート変換, XAPO の概要