# 将本地用户静音

> How to mute the local player microphone.

Vivox Unity 包有两种方法可以将本地用户的音频输入静音：

1. 将 VivoxInputDevice 静音。
2. 设置传输。

## VivoxInputDevice 静音##vivoxinputdevice-mute

使用 [`VivoxService.Instance.MuteInputDevice()`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_MuteInputDevice) 和 [`VivoxService.Instance.UnmuteInputDevice()`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_UnmuteInputDevice) 可控制本地输入设备是否静音。此静音会将用户在他们所处的所有频道会话中静音。

VivoxInputDevice 静音是为了确保一致性而建议的静音方法，除非您必须管理用户可以在哪些单独频道中进行讲话。

## TransmissionMode##transmissionmode

为了更好地控制用户输入的传输位置，请使用 [`VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode transmissionMode, string channelName = null)`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_SetChannelTransmissionModeAsync_Unity_Services_Vivox_TransmissionMode_System_String_)。

TransmissionMode 允许将用户的输入传输到他们所处的所有频道、单个频道或不传输到任何频道。

将 TransmissionMode 设置为 `TransmissionMode.All` 会将用户的输入传输到他们所处的所有频道。请参阅以下代码的示例：

```text
void SetChannelTransmissionAll()
{
    VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.All);
}
```

将 TransmissionMode 设置为 `TransmissionMode.Single` 会将用户的输入传输到单个频道。在 channelName 字段中设置指定的频道名称。请参阅以下代码的示例：

```text
void TransmitToChannel(string channelName)
{
    VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.Single, channelName);
}
```

将 TransmissionMode 设置为 `TransmissionMode.None` 会在所有频道中将用户的输入静音。最好是使用 `VivoxInputDevice` 来处理这种情况；但是，`TransmissionMode.None` 也可以有其合理用例，主要是与其他两种传输模式设置一起使用以统一输入设置。请参阅以下代码中的 `TransmissionMode.None` 示例：

```text
void TransmitToNone()
{
    VivoxService.Instance.SetChannelTransmissionModeAsync(TransmissionMode.None);
}
```
