C ++ WinRT - SubmitSourceVoice () создал треск в начале воспроизведения звука - PullRequest
0 голосов
/ 25 июня 2019

Некоторое исправление, я загрузил два файла .wav, используя XAudio2, и при воспроизведении оба файла всегда начинаются со звука "трещины" или "пика".

Вот исходный код:

...

    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);
...

Я не нашел четкого ответа на эти вопросы.

Любая идея очень ценится.

...