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


Руководство: создание базовой схемы обработки звука

Минимальное требование, позволяющее 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. Используйте функцию Start для запуска исходного голоса.

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

Звуковые графы

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