Procédure : regrouper des méthodes audio comme un ensemble d’opérations

Cette rubrique vous montre comment regrouper des méthodes XAudio2 afin qu’elles prennent effet en même temps.

Pour regrouper des méthodes audio en tant qu’ensemble d’opérations

  1. Déclarez un compteur de jeu d’opérations global.

    Le compteur de jeu d’opérations garantit que chaque jeu d’opérations est unique.

    UINT32 OperationSetCounter = 0;
    
  2. Incrémentez le compteur global.

    Chaque fois que vous envoyez un nouveau jeu d’opérations, le compteur global doit s’incrémenter pour garantir que chaque jeu est unique.

    UINT32 OperationID = UINT32(InterlockedIncrement(LPLONG(&OperationSetCounter)));
    
  3. Regroupez les appels de méthode en définissant leurs paramètres de jeu d’opérations .

  4. Définissez les paramètres du jeu d’opérations sur la valeur actuelle du compteur global.

    Dans ce cas, quatre appels à IXAudio2SourceVoice::Start sont regroupés sous la forme d’un jeu d’opérations. Le regroupement des appels fait que les quatre sons démarrent exactement en même temps.

    hr = pSFXSourceVoice1->Start( 0, OperationID );
    hr = pSFXSourceVoice2->Start( 0, OperationID );
    hr = pSFXSourceVoice3->Start( 0, OperationID );
    hr = pSFXSourceVoice4->Start( 0, OperationID );
    
  5. Démarrez l’ensemble d’opérations.

    Après avoir appelé toutes les méthodes de l’ensemble, démarrez le jeu en appelant IXAudio2::CommitChanges avec la valeur actuelle du compteur global.

    pXAudio2->CommitChanges(OperationID);
    

Jeux d’opérations

Guide de programmation XAudio2

Jeux d’opérations XAudio2