So wird's gemacht: Dynamisches Hinzufügen und Entfernen von Stimmen zu bzw. aus einem Audiodiagramm

Sie können Audiographen jederzeit ändern, um Stimmen oder ganze Untergraphen hinzuzufügen oder zu entfernen. In diesem Thema erfahren Sie, wie Sie Submixstimmen zu einem Diagramm hinzufügen oder entfernen, das mit den Schritten unter Vorgehensweise: Erstellen einer einfachen Audioverarbeitung Grapherstellt wurde. Eine einzelne Stimme kann ihre Ausgabe an mehrere Stimmen oder an eine lange Kette von Stimmen senden. Das Entfernen oder Hinzufügen einer einzelnen Stimme kann große Auswirkungen auf einen Audiographen haben.

So ändern Sie ein Audiodiagramm dynamisch

Das Hinzufügen und Entfernen von Stimmen aus einem Audiographen ähnelt dem Hinzufügen oder Entfernen von Knoten aus einer einzelnen verknüpften Liste oder einem einzelnen Diagramm.

  • So fügen Sie einem Audiographen eine Stimme oder einen Untergraphen hinzu

    Legen Sie mithilfe der SetOutputVoices-Funktion die Ausgabe einer Stimme im Graphen (der übergeordneten Stimme) auf die Stimme fest, die hinzugefügt werden soll. Legen Sie die Ausgabe der neuen Stimme auf das ursprüngliche untergeordnete Element der übergeordneten Stimme fest.

    XAUDIO2_SEND_DESCRIPTOR send = {0, pNewVoice};
    XAUDIO2_VOICE_SENDS sendlist = {1, &send};
    pParentVoice->SetOutputVoices(&sendlist);
    send.pOutputVoice = pChildVoice;
    pNewVoice->SetOutputVoices(&sendlist);
    
  • So entfernen Sie eine Stimme oder einen Untergraphen aus einem Audiographen

    Legen Sie die Ausgabestimme des übergeordneten Elements der Stimme, die entfernt wird, auf das untergeordnete Element der stimme fest, die entfernt wird. Wenn sich die entfernte Stimme am Ende des Diagramms befindet, sollte die übergeordnete Stimme so geändert werden, dass sie auf die Masterstimme verweist.

    XAUDIO2_SEND_DESCRIPTOR send = {0, pChildVoice};
    XAUDIO2_VOICE_SENDS sendlist = {1, &send};
    pParentVoice->SetOutputVoices(&sendlist);
    

Beachten Sie, dass jedes übergeordnete Element in diesen Beispielen aus Gründen der Übersichtlichkeit nur über ein untergeordnetes Element verfügt. Wenn ein übergeordneter Knoten über mehrere untergeordnete Elemente verfügt, enthält seine Sendeliste ein Array von Stimmen anstelle eines Zeigers auf nur eine Stimme.

Audiographen

XAudio2-Programmieranleitung

So wird's gemacht: Erstellen eines grundlegenden Audioverarbeitungsdiagramms

So wird's gemacht: Verwenden von Submixstimmen

So wird's gemacht: Erstellen einer Effektkette