将本地用户静音
Vivox Unity 包有两种方法可以将本地用户的音频输入静音:
- 将 VivoxInputDevice 静音。
- 设置传输。
VivoxInputDevice 静音
使用 VivoxService.Instance.MuteInputDevice()
和 VivoxService.Instance.UnmuteInputDevice()
可控制本地输入设备是否静音。此静音会将用户在他们所处的所有频道会话中静音。
VivoxInputDevice 静音是为了确保一致性而建议的静音方法,除非您必须管理用户可以在哪些单独频道中进行讲话。
TransmissionMode
为了更好地控制用户输入的传输位置,请使用 VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode transmissionMode, string channelName = null)
。
TransmissionMode 允许将用户的输入传输到他们所处的所有频道、单个频道或不传输到任何频道。
将 TransmissionMode 设置为 TransmissionMode.All
会将用户的输入传输到他们所处的所有频道。请参阅以下代码的示例:
void SetChannelTransmissionAll()
{
VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.All);
}
将 TransmissionMode 设置为 TransmissionMode.Single
会将用户的输入传输到单个频道。在 channelName 字段中设置指定的频道名称。请参阅以下代码的示例:
void TransmitToChannel(string channelName)
{
VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.Single, channelName);
}
将 TransmissionMode 设置为 TransmissionMode.None
会在所有频道中将用户的输入静音。最好是使用 VivoxInputDevice
来处理这种情况;但是,TransmissionMode.None
也可以有其合理用例,主要是与其他两种传输模式设置一起使用以统一输入设置。请参阅以下代码中的 TransmissionMode.None
示例:
void TransmitToNone()
{
VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.None);
}