IXAudio2Voice::SetOutputVoices 方法 (xaudio2.h)
指定一组新的子混合语音或主语音来接收语音的输出。
语法
\\HRESULT SetOutputVoices(
[in] const XAUDIO2_VOICE_SENDS *pSendList
);
参数
[in] pSendList
指向目标语音 的XAUDIO2_VOICE_SENDS 结构指针的数组。 如果 pSendList 为 NULL,则语音会将其输出发送到当前主语音。 若要将语音设置为不将其输出发送到任何位置,请将 XAUDIO2_VOICE_SENDS 的 OutputCount 成员设置为 0。 发送列表中的所有语音必须具有相同的输入采样率,有关其他信息,请参阅 XAudio2 采样率转换 。
返回值
如果成功,则返回S_OK,否则返回错误代码。 有关 XAudio2 特定错误代码的说明,请参阅 XAudio2 错误代码。
注解
此方法仅对源语音和子混合语音有效。 掌握语音无法将音频发送到其他语音。
调用 SetOutputVoices 后,语音的当前发送级别将替换为默认发送矩阵。 必须调用 IXAudio2Voice::SetOutputMatrix 方法,为新的 sendlist 设置自定义矩阵。
从回调 ((即 IXAudio2EngineCallback 或 IXAudio2VoiceCallback) )中调用 SetOutputVoices 无效。 如果在回调中调用 SetOutputVoices ,则返回XAUDIO2_E_INVALID_CALL。
注意 调用 SetOutputVoices 会使以前使用 IXAudio2Voice::SetOutputMatrix 设置的任何发送矩阵失效。
平台要求
Windows 8、Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)要求
目标平台 | Windows |
标头 | xaudio2.h |