Freigeben über


IXAudio2SourceVoice::SetFrequencyRatio-Methode (xaudio2.h)

Legt das Frequenzanpassungsverhältnis der Stimme fest.

Syntax

HRESULT SetFrequencyRatio(
  [in] float  Ratio,
  [in] UINT32 OperationSet
);

Parameter

[in] Ratio

Frequenzanpassungsverhältnis. Dieser Wert muss zwischen XAUDIO2_MIN_FREQ_RATIO und dem MaxFrequencyRatio-Parameter stehen, der beim Erstellen der Stimme angegeben wurde (siehe IXAudio2::CreateSourceVoice). XAUDIO2_MIN_FREQ_RATIO ist derzeit 0,0005, wodurch die Tonhöhe um bis zu 11 Oktaven gesenkt werden kann.

[in] OperationSet

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

Rückgabewert

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

Hinweise

Die Frequenzanpassung wird alsZielhäufigkeit der Quellfrequenz / ausgedrückt. Beim Ändern des Frequenzverhältnisses ändert sich die Audiorate, die auf der Stimme wiedergegeben wird. Ein Verhältnis größer als 1,0 führt dazu, dass die Audiowiedergabe schneller erfolgt, und ein Verhältnis kleiner als 1,0 führt dazu, dass die Audiowiedergabe langsamer erfolgt. Darüber hinaus wirkt sich das Frequenzverhältnis auf die Tonhöhe der Stimme aus. Beispielsweise hat ein Wert von 1,0 keine Auswirkungen auf die Audiowiedergabe, während der Wert 2,0 die Tonhöhe um eine Oktave erhöht und 0,5 ihn um eine Oktave senkt.

Wenn SetFrequencyRatio aufgerufen wird, indem ein Ratio-Wert außerhalb des gültigen Bereichs angegeben wird, legt die Methode das Frequenzverhältnis auf den nächsten gültigen Wert fest. Außerdem wird eine Warnung für Debugbuilds generiert.

HinweisIXAudio2SourceVoice::GetFrequencyRatio gibt immer das aktuelle Frequenzverhältnis der Stimme zurück. Dies stimmt jedoch möglicherweise nicht mit dem Verhältnis überein, das vom letzten IXAudio2SourceVoice::SetFrequencyRatio-Aufruf festgelegt wurde: Das tatsächliche Verhältnis wird nur bei der nächsten Ausführung der Audio-Engine nach dem IXAudio2SourceVoice::SetFrequencyRatio-Aufruf (oder nach dem entsprechenden IXAudio2::CommitChanges-Aufruf geändert, wenn IXAudio2SourceVoice::SetFrequencyRatio 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)

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile xaudio2.h

Weitere Informationen

Vorgehensweise: Ändern der Tonhöhe

IXAudio2SourceVoice