【XAudio2】5.如何初始化 XAudio2

5.如何初始化 XAudio2

这个例子创建一个XAudio2引擎实例,并创建一个Mastering Voice。


初始化XAudio2


1.创建一个XAudio2引擎实例通过XAudio2Create函数。

  1. #ifndef _XBOX
    CoInitializeEx(NULL, COINIT_MULTITHREADED);
    #endif
    IXAudio2* pXAudio2 = NULL;
    HRESULT hr;
    if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
        return hr;


Windows
在Windows上,应用程序必须调用CoInitializeEx方法在XAudio2Create之前调用。此外,COM的规则需要CoInitialize或CoInitializeEx在任何线程被调用在使用XAudio2之前。

 

2.创建一个Mastering Voice通过CreateMasteringVoice函数。
Mastering Voice封装了一个音频设备,是所有音频的最终目的地,通过音频图。

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


注意
在这个例子中,CreateMasteringVoice使用默认值0 DeviceIndex参数。这导致XAudio2把全局默认的音频设备给Mastering Voice。这个值也可以由遍历可用的音频设备,并根据标准选择一个特定于应用程序的。例如选择音频设备基于特定于应用程序的标准,看如何:列举音频设备。

你可能感兴趣的:(XAudio2)