次の方法で共有


方法 : XAudio2 の初期化

オーディオ出力のために XAudio2 を初期化するには、XAudio2 のインスタンスおよびマスター ボイスを作成します。

XAudio2 を初期化するには

  1. XAudio2Create 関数を使用して、XAudio2 エンジンのインスタンスを作成します。

    if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
        return hr;
    

    Windows:  Windows の場合は、XAudio2Create を呼び出す前にアプリケーションで CoInitializeEx メソッドを呼び出す必要があります。さらに、COM のルールは、XAudio2 への呼び出しを実行するすべてのスレッドで CoInitialize または CoInitializeEx を呼び出す必要があります。

    CoInitializeEx(NULL, COINIT_MULTITHREADED);
    
  2. CreateMasteringVoice メソッドを使用して、マスター ボイスを作成します。

    マスター ボイスは、オーディオ デバイスをカプセル化し、オーディオ グラフを通過するすべてのオーディオの最終的な転送先となります。

    IXAudio2MasteringVoice* pMasterVoice = NULL;
    
    if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice, XAUDIO2_DEFAULT_CHANNELS,
                                XAUDIO2_DEFAULT_SAMPLERATE, 0, 0, NULL ) ) )
        return hr;
    

        この例では、CreateMasteringVoiceDeviceIndex パラメーターにデフォルト値を使用することにより、XAudio2 でマスター ボイスに関連付けるオーディオ デバイスを選択できるようにしています。この値の決定は、使用可能なオーディオ デバイスのそれぞれに処理を繰り返して、アプリケーション固有の基準で選択することでも可能です。アプリケーション固有の基準に基づくオーディオ デバイスの選択例については、「方法 : オーディオ デバイスの列挙」を参照してください。

関連トピック