IXAudio2Voice::SetOutputVoices 方法 (xaudio2.h)

指定一组新的子混合语音或主语音来接收语音的输出。

语法

\\HRESULT SetOutputVoices(
  [in] const XAUDIO2_VOICE_SENDS *pSendList
);

参数

[in] pSendList

指向目标语音 的XAUDIO2_VOICE_SENDS 结构指针的数组。 如果 pSendList 为 NULL,则语音会将其输出发送到当前主语音。 若要将语音设置为不将其输出发送到任何位置,请将 XAUDIO2_VOICE_SENDSOutputCount 成员设置为 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

另请参阅

IXAudio2Voice