如何:构建基本的音频处理图
使 XAudio2 能够播放音频数据的最低要求是音频处理图,它由单个主语音和单个源语音构成。
生成基本音频处理图
按照如何:初始化 XAudio2 中所述的步骤 初始化 XAudio2 引擎。
按照如何:在 XAudio2 中加载音频数据文件中所述的步骤,填充 WAVEFORMATEX 和 XAUDIO2_BUFFER 结构。
使用 CreateSourceVoice 函数创建源语音。
为 CreateSourceVoice 的 pSendList 参数指定 NULL 时,源语音的输出将转到步骤 1 中创建的主语音。
IXAudio2SourceVoice* pSourceVoice; if( FAILED(hr = pXAudio2->CreateSourceVoice( &pSourceVoice, (WAVEFORMATEX*)&wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, NULL, NULL, NULL ) ) ) return hr;
完成此步骤后,会有一个简单的音频图,其中包含源语音、主语音和音频设备。 本操作方法主题中的剩余步骤演示如何启动音频数据流经图形。
简单的音频图
使用函数 SubmitSourceBuffer 将 XAUDIO2_BUFFER 提交到源语音。
if( FAILED(hr = pSourceVoice->SubmitSourceBuffer( &buffer ) ) ) return hr;
使用 Start 函数启动源语音。
if ( FAILED(hr = pSourceVoice->Start( 0, XAUDIO2_COMMIT_NOW ) ) ) return hr;
相关主题