C ++ WinRT-SubmitSourceVoice()在播放开始声音时创建了裂纹声音

时间:2019-06-25 03:17:04

标签: c++ audio windows-runtime buffer submit

进行一些更正,我使用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);
...

我没有找到确切的答案。

任何想法都将不胜感激。

0 个答案:

没有答案