Cómo: agrupar métodos de audio como un conjunto de operaciones

En este tema se muestra cómo puede agrupar métodos XAudio2 para que surtan efecto al mismo tiempo.

Para agrupar métodos de audio como un conjunto de operaciones

  1. Declare un contador del conjunto de operaciones global.

    El contador del conjunto de operaciones garantiza que cada conjunto de operaciones sea único.

    UINT32 OperationSetCounter = 0;
    
  2. Incremente el contador global.

    Cada vez que envíe un nuevo conjunto de operaciones, el contador global debe incrementarse para asegurarse de que cada conjunto sea único.

    UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
    
  3. Agrupe las llamadas al método estableciendo sus parámetros del conjunto de operaciones .

  4. Establezca los parámetros del conjunto de operaciones en el valor actual del contador global.

    En este caso, cuatro llamadas a IXAudio2SourceVoice::Start se agrupan como un conjunto de operaciones. La agrupación de las llamadas hace que los cuatro sonidos se inicien exactamente al mismo tiempo.

    hr = pSFXSourceVoice1->Start( 0, OperationID );
    hr = pSFXSourceVoice2->Start( 0, OperationID );
    hr = pSFXSourceVoice3->Start( 0, OperationID );
    hr = pSFXSourceVoice4->Start( 0, OperationID );
    
  5. Inicie el conjunto de operaciones.

    Después de llamar a todos los métodos del conjunto, inicie el conjunto llamando a IXAudio2::CommitChanges con el valor actual del contador global.

    pXAudio2->CommitChanges(OperationID);
    

Conjuntos de operaciones

Guía de programación de XAudio2

Conjuntos de operaciones XAudio2