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