次の方法で共有


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 はピッチを 1 オクターブずつ上げ、0.5 は 1 オクターブ下げます。

有効な範囲外の比率値を指定して SetFrequencyRatio が呼び出された場合、メソッドは頻度比を最も近い有効な値に設定します。 デバッグ ビルドに対しても警告が生成されます。

IXAudio2SourceVoice::GetFrequencyRatio は、常に音声の実際の現在の周波数比を返します。 ただし、これは、最新の IXAudio2SourceVoice::SetFrequencyRatio 呼び出しによって設定された比率と一致しない可能性があります。実際の比率は、IXAudio2SourceVoice::SetFrequencyRatio 呼び出しの後 (または IXAudio2SourceVoice::SetFrequencyRatio が遅延操作 ID で呼び出された場合は、対応する IXAudio2::CommitChanges 呼び出しの後) の後にオーディオ エンジンが次回実行されたときにのみ変更されます。
 

プラットフォームの要件

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

要件

要件
対象プラットフォーム Windows
ヘッダー xaudio2.h

こちらもご覧ください

方法: 音声ピッチを変更する

IXAudio2SourceVoice