Cómo: crear un gráfico de procesamiento de audio básico

El requisito mínimo para permitir que XAudio2 reproduzca datos de audio es un grafo de procesamiento de audio, que se construye a partir de una sola voz de maestro y una sola voz de origen.

Para crear un grafo de procesamiento de audio básico

  1. Inicialice el motor XAudio2 siguiendo los pasos descritos en Cómo: Inicializar XAudio2.

  2. Rellene una estructura WAVEFORMATEX y XAUDIO2_BUFFER siguiendo los pasos descritos en Cómo: Cargar archivos de datos de audio en XAudio2.

  3. Cree una voz de origen mediante la función CreateSourceVoice .

    Cuando se especifica NULL para el argumento pSendList de CreateSourceVoice, la salida de la voz de origen va a la voz de maestro creada en el paso 1.

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

    Después de finalizar este paso, hay un gráfico de audio simple que consta de la voz de origen, la voz de maestro y el dispositivo de audio. Los pasos restantes de este tema de procedimientos muestran cómo iniciar el flujo de datos de audio a través del gráfico.

    Un gráfico de audio simple

    un gráfico de audio simple.

  4. Use la función SubmitSourceBuffer para enviar un XAUDIO2_BUFFER a la voz de origen.

    if( FAILED(hr = pSourceVoice->SubmitSourceBuffer( &buffer ) ) )
        return hr;
    
  5. Use la función Start para iniciar la voz de origen.

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

Gráficos de audio

Guía de programación de XAudio2