Freigeben über


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

Sie können Audiodiagramme jederzeit ändern, um Stimmen oder ganze Untergraphen hinzuzufügen oder zu entfernen. In diesem Thema erfahren Sie, wie Sie Submixstimmstimden aus einem Diagramm hinzufügen oder entfernen, das nach den Schritten in How to: Build a Basic Audio Processing Graph erstellt 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 einen großen Einfluss auf ein Audiodiagramm 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 einzelverknüpften Liste oder einem Diagramm.

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

    Legen Sie die Ausgabe einer Stimme im Diagramm, der übergeordneten Stimme, auf die Stimme fest, die mithilfe der SetOutputVoices-Funktion 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 ein Untergraph aus einem Audiodiagramm

    Legen Sie die Ausgabestimme des übergeordneten Der zu entfernenden Stimme auf das untergeordnete Element der zu entfernenden Stimme fest. Wenn sich die zu entfernende Stimme am Ende des Diagramms befindet, sollte die übergeordnete Stimme so geändert werden, dass sie auf die master Stimme zeigt.

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

Beachten Sie, dass jedes übergeordnete Element in diesen Beispielen nur über ein untergeordnetes Element verfügt. Wenn ein übergeordneter Knoten über mehrere untergeordnete Elemente verfügt, enthält seine Sendlist 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