IXAudio2SourceVoice::SetSourceSampleRate 方法 (xaudio2.h)

重新配置语音,以与创建语音时指定的采样率不同的采样率使用源数据。

语法

HRESULT SetSourceSampleRate(
  [in] UINT32 NewSourceSampleRate
);

参数

[in] NewSourceSampleRate

语音应按其处理提交的数据的新采样率。 有效采样率为 1kHz 到 200kHz。

返回值

如果成功,则返回S_OK,否则返回错误代码。 有关错误代码的说明,请参阅 XAudio2 错误代码。

注解

SetSourceSampleRate 方法允许语音播放具有各种采样率的声音,从而支持重复使用 XAudio2 语音。 若要使用 SetSourceSampleRate ,必须创建语音时没有XAUDIO2_VOICE_NOPITCH或XAUDIO2_VOICE_NOSRC标志,并且当前不得有任何缓冲区排队。

SetSourceSampleRate 的典型用途是支持语音池。 例如,为了支持语音池,应用程序会预先创建它希望使用的所有语音。 每当将播放新声音时,应用程序都会选择非活动语音,或者,如果所有语音都忙,则选取最不重要的语音,并使用新声音的采样率在语音上调用 SetSourceSampleRate 。 在语音上调用 SetSourceSampleRate 后,应用程序可以立即开始使用新的采样率提交和播放缓冲区。 这样,应用程序就可以避免在玩游戏期间频繁创建和销毁语音的开销。

平台要求

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

要求

要求
目标平台 Windows
标头 xaudio2.h

另请参阅

IXAudio2SourceVoice