IXAudio2SourceVoice::SetFrequencyRatio 方法 (xaudio2.h)
設定語音的頻率調整比例。
語法
HRESULT SetFrequencyRatio(
[in] float Ratio,
[in] UINT32 OperationSet
);
參數
[in] Ratio
頻率調整比例。 此值必須介於 XAUDIO2_MIN_FREQ_RATIO 和建立語音時所指定的 MaxFrequencyRatio 參數 (請參閱 IXAudio2::CreateSourceVoice) 。 XAUDIO2_MIN_FREQ_RATIO目前為 0.0005,可讓音調降低最多 11 個八位。
[in] OperationSet
將此呼叫識別為延遲批次的一部分。 如需詳細資訊,請參閱 XAudio2 作業集 概觀。
傳回值
如果成功,則傳回S_OK,否則傳回錯誤碼。 如需錯誤碼的描述,請參閱 XAudio2 錯誤 碼。
備註
頻率調整會以 來源頻率 / 目標頻率表示。 變更頻率比率會變更音訊在語音上播放的速率。 大於 1.0 的比例會導致音訊播放速度較快,而小於 1.0 的比例會導致音訊播放速度較慢。 此外,頻率比率會影響語音上的音訊音調。 例如,1.0 的值對音頻沒有任何作用,而 2.0 的值則會以一個八位提升音調,而 0.5 則會以一個八位來降低。
如果呼叫 SetFrequencyRatio 以指定有效範圍以外的 Ratio 值,此方法會將頻率比率設定為最接近的有效值。 也會針對偵錯組建產生警告。
注意IXAudio2SourceVoice::GetFrequencyRatio 一律會傳回語音的實際目前頻率比率。 不過,這可能不符合最近 IXAudio2SourceVoice::SetFrequencyRatio 呼叫所設定的比率:只有在 IXAudio2SourceVoice::SetFrequencyRatio 呼叫之後執行音訊引擎時,才會變更實際比率::SetFrequencyRatio 呼叫 (或對應的 IXAudio2::CommitChanges 呼叫之後, 如果 呼叫 IXAudio2SourceVoice::SetFrequencyRatio ,則會使用延遲的作業標識碼) 。
平臺需求
Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | xaudio2.h |