Share via


使用方法:初始化 XAudio2

XAudio2 會藉由建立 XAudio2 引擎的實例,以及建立主控語音,來初始化音訊播放。

初始化 XAudio2

  1. 請確定您已初始化 COM。 對於 Windows 市集應用程式,這是初始化Windows 執行階段的一部分。 否則,請使用 CoInitializeEx

    HRESULT hr;
    hr = CoInitializeEx( nullptr, COINIT_MULTITHREADED );
    if (FAILED(hr))
        return hr;
    
  2. 使用 XAudio2Create 函式來建立 XAudio2 引擎的實例。

    IXAudio2* pXAudio2 = nullptr;
    if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
        return hr;
    
  3. 使用 CreateMasteringVoice 方法來建立主控語音。

    主控語音會封裝音訊裝置。 這是通過音訊圖形之所有音訊的最終目的地。

    IXAudio2MasteringVoice* pMasterVoice = nullptr;
    if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice ) ) )
        return hr;
    

Windows 市集應用程式的注意事項

我們建議您使用 智慧型指標 ,以例外狀況安全的方式管理 XAUDIO2 物件的存留期。 針對 Windows 市集應用程式,您可以使用來自 Windows 執行階段 C++ 樣板庫 (WRL) 的 ComPtr智慧型指標範本。

Microsoft::WRL::ComPtr<IXAudio2> XAudio2;
HRESULT hr;
if ( FAILED(hr = XAudio2Create( &XAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
    throw Platform::Exception::CreateException(hr);

IXAudio2MasteringVoice* pMasterVoice = nullptr;
if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice ) ) )
    return hr;

注意

在釋放 IXAudio2 物件之前,請確定所有 XAUDIO2 子物件都已完全釋放。

 

XAudio2 消費者入門

使用方法:在 XAudio2 中載入音訊資料檔

使用方法:使用 XAudio2 播放音效