进行一些更正,我使用XAudio2加载了两个.wav文件,并且在播放时,两个文件始终以“裂纹”或“尖峰”声音开头。
这是源代码:
...
hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR );
if( hr != S_OK )
{
return;
}
hr = pXAudio2->CreateMasteringVoice( &pMasterVoice, 2, 44100 );
if( hr != S_OK )
{
return;
}
pMasterVoice->SetVolume( (float)0.05f );
//
// sound[] is array of a structure
// voice is IXAudio2SourceVoice*
// buffer is XAUDIO2_BUFFER
//
sound[x].voice->FlushSourceBuffers();
auto hr = sound[x].voice->SubmitSourceBuffer( &sound[x].buffer );
if( hr != S_OK ) continue;
sound[x].voice->Start(0);
...
我没有找到确切的答案。
任何想法都将不胜感激。