Como: Compilar um gráfico de processamento de áudio básico

O requisito mínimo para habilitar o XAudio2 para reproduzir dados de áudio é um grafo de processamento de áudio, que é construído com base em uma única voz de masterização e uma única voz de origem.

Para criar um grafo de processamento de áudio básico

  1. Inicialize o mecanismo XAudio2 seguindo as etapas descritas em Como inicializar o XAudio2.

  2. Preencha uma estrutura WAVEFORMATEX e XAUDIO2_BUFFER seguindo as etapas descritas em Como carregar arquivos de dados de áudio no XAudio2.

  3. Crie uma voz de origem usando a função CreateSourceVoice .

    Quando você especifica NULL para o argumento pSendList de CreateSourceVoice, a saída da voz de origem vai para a voz de masterização criada na etapa 1.

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

    Depois de concluir esta etapa, há um grafo de áudio simples que consiste na voz de origem, na voz de mestre e no dispositivo de áudio. As etapas restantes neste tópico de instruções mostram como iniciar o fluxo de dados de áudio pelo grafo.

    Um grafo de áudio simples

    um grafo de áudio simples.

  4. Use a função SubmitSourceBuffer para enviar um XAUDIO2_BUFFER para a voz de origem.

    if( FAILED(hr = pSourceVoice->SubmitSourceBuffer( &buffer ) ) )
        return hr;
    
  5. Use a função Start para iniciar a voz de origem.

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

Gráficos de áudio

Guia de Programação em XAudio2