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
[out] 成功した場合、新しい IXAudio2MasteringVoice オブジェクトへのポインターを返します。InputChannels
[in] 入力オーディオで予想されるマスター ボイスのチャンネル数です。InputChannels は XAUDIO2_MAX_AUDIO_CHANNELS 以下でなければなりません。
InputChannels は XAUDIO2_DEFAULT_CHANNELS に設定可能であり、既定値は現在のプラットフォームによって決まります。
Windows システム スピーカーの構成のセットアップ方法の検出を試みます。
Xbox 360 既定は、5.1 サラウンドです。
InputSampleRate
[in] マスター ボイスの入力オーディオ データのサンプリング レートです。このレートは、XAUDIO2_QUANTUM_DENOMINATOR の倍数でなければなりません。InputSampleRate は、XAUDIO2_MIN_SAMPLE_RATE ~ XAUDIO2_MAX_SAMPLE_RATE でなければなりません。
InputSampleRate は XAUDIO2_DEFAULT_SAMPLERATE に設定可能であり、既定値は現在のプラットフォームによって決まります。
Windows 既定は 44100 または 48000 です (ドライバーの機能による)。
Xbox 360 既定は、48000 です。
Flags
[in] マスター ボイスの動作を指定するフラグです。0 を指定します。DeviceIndex
[in] マスター ボイスからの入力が送られる出力デバイスのインデックスです。デフォルト値の 0 を指定すると、XAudio2 はグローバル デフォルト オーディオ デバイスを選択します。pEffectChain
[in, optional] マスター ボイスで使用されるエフェクト チェーンを表す 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 の概要