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 に設定可能であり、既定値は現在のプラットフォームによって決まります。

    Ee418605.note(ja-jp,VS.85).gif Windows

    システム スピーカーの構成のセットアップ方法の検出を試みます。

    Ee418605.note(ja-jp,VS.85).gifXbox 360

    既定は、5.1 サラウンドです。

  • InputSampleRate
    [in] マスター ボイスの入力オーディオ データのサンプリング レートです。このレートは、XAUDIO2_QUANTUM_DENOMINATOR の倍数でなければなりません。

    InputSampleRate は、XAUDIO2_MIN_SAMPLE_RATE ~ XAUDIO2_MAX_SAMPLE_RATE でなければなりません。

    InputSampleRate は XAUDIO2_DEFAULT_SAMPLERATE に設定可能であり、既定値は現在のプラットフォームによって決まります。

    Ee418605.note(ja-jp,VS.85).gif Windows

    既定は 44100 または 48000 です (ドライバーの機能による)。

    Ee418605.note(ja-jp,VS.85).gifXbox 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 の概要