Freigeben über


IXAudio2Voice::SetOutputMatrix-Methode (xaudio2.h)

Legt den Lautstärkepegel jedes Kanals der enden Ausgabe für die Stimme fest. Diese Kanäle werden den Eingabekanälen einer angegebenen Zielstimme zugeordnet.

Syntax

\\HRESULT SetOutputMatrix(
  [in] IXAudio2Voice *pDestinationVoice,
  [in] UINT32        SourceChannels,
  [in] UINT32        DestinationChannels,
  [in] const float   *pLevelMatrix,
  [in] UINT32        OperationSet
);

Parameter

[in] pDestinationVoice

Zeiger auf ein Ziel IXAudio2Voice , für das Lautstärkestufen festgelegt werden sollen.

Hinweis Wenn die Stimme an eine einzelne Zielstimme sendet, führt die Angabe von NULL dazu, dass SetOutputMatrix mit dieser Zielstimme arbeitet.
 

[in] SourceChannels

Bestätigt die Anzahl des Ausgabekanals der Stimme. Dies ist die Anzahl der Kanäle, die durch den letzten Effekt in der Kette erzeugt werden.

[in] DestinationChannels

Bestätigt die Anzahl des Eingabekanals der Zielstimme.

[in] pLevelMatrix

Array von [SourceChannels × DestinationChannels]-Volumepegeln, die an die Zielstimme gesendet werden. Die vom Quellkanal S an den Zielkanal D gesendete Ebene wird im Format pLevelMatrix[SourceChannels × D + S] angegeben.

Beim Rendern von Zweikanal-Stereoeingaben in 5.1-Ausgabe, die zu den Frontkanälen gewichtet ist , aber in den Mittel- und Niederfrequenzkanälen nicht vorhanden ist, kann die Matrix die Werte in der folgenden Tabelle enthalten.

Output Linke Eingabe [Arrayindex] Rechte Eingabe [Arrayindex]
Left 1.0 [0] 0.0 [1]
Right 0.0 [2] 1.0 [3]
Vordere Mitte 0.0 [4] 0.0 [5]
LFE 0.0 [6] 0.0 [7]
Hinten links 0.8 [8] 0.0 [9]
Hinten rechts 0.0 [10] 0.8 [11]
 
Hinweis Die linke und rechte Eingabe sind vollständig den linken und rechten Kanälen zugeordnet. 80 Prozent der linken und rechten Eingaben werden den hinteren linken und rechten Kanälen zugeordnet.
 
Weitere Informationen zu Lautstärkepegeln finden Sie unter Hinweise.

[in] OperationSet

Identifiziert diesen Aufruf als Teil eines verzögerten Batches. Weitere Informationen finden Sie in der Übersicht über XAudio2-Vorgänge .

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK zurück, andernfalls einen Fehlercode. Beschreibungen von Fehlercodes finden Sie unter XAudio2-Fehlercodes .

Hinweise

Diese Methode ist nur für Quell- und Submixstimmen gültig, da Masterstimmen ohne Matrixmischung direkt auf das Gerät schreiben.

Volumenpegel werden als Gleitkommaamplitmultiplikatoren zwischen -XAUDIO2_MAX_VOLUME_LEVEL und XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ bis 2²⁴) mit einer maximalen Verstärkung von 144,5 dB ausgedrückt. Ein Lautstärkeniveau von 1,0 bedeutet, dass es keine Dämpfung oder Verstärkung gibt und 0 bedeutet Stille. Negative Werte können verwendet werden, um die Audiophase umzukehren. Weitere Informationen zur Lautstärkeregelung finden Sie unter XAudio2 Volume and Pitch Control .

Die X3DAudio-FunktionX3DAudioCalculate kann eine Ausgabematrix für die Verwendung mit SetOutputMatrix basierend auf der Position eines Sounds und der Position eines Listeners erstellen.

HinweisIXAudio2Voice::GetOutputMatrix gibt immer die zuletzt von IXAudio2Voice::SetOutputMatrix festgelegten Ebenen zurück. Sie sind jedoch möglicherweise noch nicht wirksam: Sie werden nur wirksam, wenn die Audio-Engine das nächste Mal nach dem IXAudio2Voice::SetOutputMatrix-Aufruf ausgeführt wird (oder nach dem entsprechenden IXAudio2::CommitChanges-Aufruf , wenn IXAudio2Voice::SetOutputMatrix mit einer verzögerten Vorgangs-ID aufgerufen wurde).
 

Plattformanforderungen

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile xaudio2.h

Weitere Informationen

Vorgehensweise: Ändern der Sprachlautstärke

IXAudio2Voice