Compartir a través de


Cómo: usar voces de submezcla

En este tema se muestra cómo puede establecer grupos de voces para enviar su salida a la misma voz de submezcla. Esto permite que un único cambio en una voz de submezcla afecte a todo un grupo de voces.

  1. Crea una voz de submezcla a la que se enviarán todas las voces de efecto de sonido del juego.

    IXAudio2SubmixVoice * pSFXSubmixVoice;
    pXAudio2->CreateSubmixVoice(&pSFXSubmixVoice,1,44100,0,0,0,0);
    
  2. Cree una estructura de XAUDIO2_VOICE_SENDS que contenga una referencia a la voz de submezcla.

    XAUDIO2_SEND_DESCRIPTOR SFXSend = {0, pSFXSubmixVoice};
    XAUDIO2_VOICE_SENDS SFXSendList = {1, &SFXSend};
    
  3. Pase la estructura XAUDIO2_VOICE_SENDS a las nuevas voces de origen a medida que se crean.

    IXAudio2SourceVoice* pSFXSourceVoice;
    if( FAILED(hr = pXaudio2->CreateSourceVoice( &pSFXSourceVoice, (WAVEFORMATEX*)&wfx,
        0, XAUDIO2_DEFAULT_FREQ_RATIO, pCallback, pSFXSendList, NULL ) ) )
        return hr;
    
  4. Aplicar cambios a todas las voces de efecto de sonido ajustando la voz de submezcla.

    En este ejemplo, al cambiar el volumen de la voz de submezcla con la función SetVolume , se cambia eficazmente el volumen de todas las voces que se generan en él.

    pSFXSubmixVoice->SetVolume(0.1);
    

Voces

Guía de programación de XAudio2

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