Script Controlled Speech
There are several options for controlling speech from scripts, depending on what you want to achieve.
Muting The Local Player⚓︎
If you want to completely prevent a player from speaking you can set the IsMuted
property on the DissonanceComms
component to true.
DissonanceComms comms;
comms.IsMuted = true;
// User cannot speak
comms.IsMuted = false;
// User can speak
Deafening The Local Player⚓︎
If you want to completely prevent the local player from hearing any speech you can set the IsDeafened
property on the DissonanceComms
component to true.
DissonanceComms comms;
comms.IsDeafened = true;
// User cannot hear
comms.IsDeafened = false;
//User can hear
Muting Remote Players⚓︎
If you want to locally mute a remote player (prevent yourself from hearing them talk) you can set the IsLocallyMuted
property on their player object.
DissonanceComms comms;
var player = comms.FindPlayer(player_id);
player.IsLocallyMuted = true;
// You will not hear user when they speak
player.IsLocallyMuted = false;
// You will hear user when they speak
Disabling Triggers⚓︎
The VoiceBroadcastTrigger
is the normal way to trigger voice transmission. Simply disabling this component will prevent it from triggering any voice transmissions until it is enabled again.
VoiceBroadcastTrigger trigger;
trigger.enabled = false;
// This trigger cannot send voice
trigger.enabled = true;
// This trigger can send voice
Opening Channels⚓︎
The most general way to control player voice transmission from scripts is to open and close channels, for more information about channels see this tutorial. To start talking open a channel, to stop talking dispose the channel:
DissonanceComms comms;
var channel = comms.RoomChannels.Open("Room ID", true, ChannelPriority.Default);
//Player speech will be transmitted to the room named "Room ID"
channel.Dispose();
//Player speech will no longer be transmitted by this channel