# ローカルユーザーのミュート

> How to mute the local player microphone.

Vivox Unity パッケージには、ローカルユーザーのオーディオ入力をミュートする 2 つの方法が用意されています。

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` を使用して処理することをお勧めします。ただし、主に入力設定の統一のためにその他の 2 つの伝送モードの設定とともに使用する場合など、`TransmissionMode.None` にも独自の用途があります。`TransmissionMode.None` の例については以下のコードを参照してください。

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