Поделиться через


Практическое руководство. Создание базового графа обработки звука

Минимальное требование для включения XAudio2 для воспроизведения звуковых данных — это граф обработки звука, созданный на основе одного эталонного голоса и одного исходного голоса.

Создание базового графа обработки звука

  1. Инициализируйте движок XAudio2, выполнив шаги, описанные в разделе Как инициализировать XAudio2.

  2. Заполните структуру WAVEFORMATEX и XAUDIO2_BUFFER, выполнив действия, описанные в разделе "Как загрузить аудиофайлы данных в XAudio2".

  3. Создайте исходный голос с помощью функции CreateSourceVoice.

    При указании NULL для аргумента pSendList CreateSourceVoiceвыходные данные исходящего сигнала переходят к главному сигналу, созданному на шаге 1.

    IXAudio2SourceVoice* pSourceVoice;
    if( FAILED(hr = pXAudio2->CreateSourceVoice( &pSourceVoice, (WAVEFORMATEX*)&wfx,
                  0, XAUDIO2_DEFAULT_FREQ_RATIO, NULL, NULL, NULL ) ) ) return hr;
    

    После завершения этого шага существует простой звуковой граф, состоящий из исходного голоса, эталонного голоса и звукового устройства. Остальные действия, описанные в этом руководстве, показывают, как начать передачу звуковых данных через граф.

    Простой звуковой граф

    простой звуковой граф.

  4. Используйте функцию SubmitSourceBuffer для отправки XAUDIO2_BUFFER в исходный голос.

    if( FAILED(hr = pSourceVoice->SubmitSourceBuffer( &buffer ) ) )
        return hr;
    
  5. Используйте функцию запускадля запуска исходного голоса.

    if ( FAILED(hr = pSourceVoice->Start( 0, XAUDIO2_COMMIT_NOW ) ) )
        return hr;
    

звуковых графов

Руководство по программированию XAudio2