文档

支持

Vivox Unity SDK

Vivox Unity SDK

将本地用户静音

How to mute the local player microphone.
阅读时间1 分钟最后更新于 13 天前

Vivox Unity 包有两种方法可以将本地用户的音频输入静音:
  1. 将 VivoxInputDevice 静音。
  2. 设置传输。

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);}