IXAudio2SourceVoice::SetSourceSampleRate メソッド
ボイスの作成時に指定されたサンプル レートとは異なるレートでソース データを使用するようにボイスを再構成します。
構文
HRESULT SetSourceSampleRate( UINT32 NewSourceSampleRate)
パラメーター
- NewSourceSampleRate
[in] ボイスが送信されたデータを処理する際に使用する新しいサンプル レートです。有効なサンプル レートは 1 KHz ~ 200 KHz です。
戻り値
正常に実行された場合は S_OK を返し、失敗した場合はエラー コードを返します。エラー コードの説明については、「XAudio2 エラー コード」を参照してください。
解説
SetSourceSampleRate メソッドは、ボイスがさまざまなサンプル レートでサウンドを再生できるようにすることで、XAudio2 ボイスの再利用をサポートしています。SetSourceSampleRate を使用するには、ボイスは XAUDIO2_VOICE_NOPITCH フラグや XAUDIO2_VOICE_NOSRC フラグを使用せずに作成されている必要があり、ボイスのどのバッファーも現在キューに入っていない必要があります。
SetSourceSampleRate の一般的な用途は、ボイス プールをサポートすることです。たとえば、ボイス プールをサポートするためには、アプリケーションは使用する予定のすべてのボイスを事前に作成します。新しいサウンドが再生されるたびに、アプリケーションは、使用されていないボイスを選択するか、またはすべてのボイスが使用中の場合は最も重要度の低いボイスを選択して、その新しいサウンドのサンプル レートを使用してそのボイス上で SetSourceSampleRate を呼び出します。SetSourceSampleRate がボイス上で呼び出されたら、アプリケーションは、新しいサンプル レートを使用してバッファーの送信と再生を直ちに開始できます。これにより、アプリケーションは、ゲームプレイ中にボイスを頻繁に作成および破棄することで生じるオーバーヘッドを回避できます。
要件
ヘッダー: xaudio2.h で宣言されています。