# IVoiceChatManager
> Manages voice chat state for players running the Lectern client with Simple Voice Chat.
`gg.lode.lecternapi.api.manager.IVoiceChatManager`
---
## Signature
```java
public interface IVoiceChatManager
```
---
## Overview
IVoiceChatManager provides two levels of voice chat control:
| Mode | Description |
|---|---|
| **Suggestive** | Sets the player's mute/deafen state, but the player can override it via their client UI. |
| **Forced** | Locks the player's mute/deafen state. The player cannot change it until the force is stopped. |
This is useful for scenarios like forcing players to be muted during cutscenes, or suggesting they unmute when joining a voice-enabled area.
---
## Methods — Suggestive
### mutePlayer
```java
void mutePlayer(Player player)
```
Suggests the player should mute their microphone. The player can override this in their client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### unmutePlayer
```java
void unmutePlayer(Player player)
```
Suggests the player should unmute their microphone.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### deafenPlayer
```java
void deafenPlayer(Player player)
```
Suggests the player should deafen (stop hearing voice chat).
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### undeafenPlayer
```java
void undeafenPlayer(Player player)
```
Suggests the player should undeafen.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
## Methods — Forced
### forceMutePlayer
```java
void forceMutePlayer(Player player)
```
Forces the player to be muted. The player cannot unmute until `stopForceMute()` is called.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### forceUnmutePlayer
```java
void forceUnmutePlayer(Player player)
```
Forces the player to be unmuted. The player cannot mute until `stopForceUnmute()` is called.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### forceDeafenPlayer
```java
void forceDeafenPlayer(Player player)
```
Forces the player to be deafened. The player cannot undeafen until `stopForceDeafen()` is called.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### forceUndeafenPlayer
```java
void forceUndeafenPlayer(Player player)
```
Forces the player to be undeafened. The player cannot deafen until `stopForceUndeafen()` is called.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### stopForceMute
```java
void stopForceMute(Player player)
```
Stops forcing the player to be muted. Returns control to the player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### stopForceUnmute
```java
void stopForceUnmute(Player player)
```
Stops forcing the player to be unmuted.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### stopForceDeafen
```java
void stopForceDeafen(Player player)
```
Stops forcing the player to be deafened.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### stopForceUndeafen
```java
void stopForceUndeafen(Player player)
```
Stops forcing the player to be undeafened.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
## Example
```java
ILecternAPI api = LecternAPI.getApi();
Player player = /* ... */;
// Force mute during a cutscene
api.getVoiceChatManager().forceMutePlayer(player);
api.getVoiceChatManager().forceDeafenPlayer(player);
// After cutscene ends
api.getVoiceChatManager().stopForceMute(player);
api.getVoiceChatManager().stopForceDeafen(player);
```
---
## Related Pages
- [[ILecternAPI]] — Access via `getVoiceChatManager()`
- [[PlayerMuteEvent]] — Fired when player mutes (suggestive)
- [[PlayerUnmuteEvent]] — Fired when player unmutes
- [[PlayerDeafenEvent]] — Fired when player deafens
- [[PlayerUndeafenEvent]] — Fired when player undeafens