Interface IVivoxService
The interface used to interact with the VivoxService
Namespace: Unity.Services.Vivox
Assembly: Unity.Services.Vivox.dll
Syntax
public interface IVivoxService
Properties
ActiveChannels
A Dictionary of channels the user is currently connected to and a list of the VivoxParticipants in each the channel. The key is the channel name used to connect with. The value is a maintained list of each VivoxParticipant in the channel.
Declaration
ReadOnlyDictionary<string, ReadOnlyCollection<VivoxParticipant>> ActiveChannels { get; }
Property Value
Type | Description |
---|---|
ReadOnlyDictionary<string, ReadOnlyCollection<VivoxParticipant>> |
ActiveInputDevice
The active input device being used by the local user.
Declaration
VivoxInputDevice ActiveInputDevice { get; }
Property Value
Type | Description |
---|---|
VivoxInputDevice |
ActiveOutputDevice
The active output device being used by the local user.
Declaration
VivoxOutputDevice ActiveOutputDevice { get; }
Property Value
Type | Description |
---|---|
VivoxOutputDevice |
AvailableInputDevices
A collection of all available input devices for the local user.
Declaration
ReadOnlyCollection<VivoxInputDevice> AvailableInputDevices { get; }
Property Value
Type | Description |
---|---|
ReadOnlyCollection<VivoxInputDevice> |
AvailableOutputDevices
A collection of all available output devices for the local user.
Declaration
ReadOnlyCollection<VivoxOutputDevice> AvailableOutputDevices { get; }
Property Value
Type | Description |
---|---|
ReadOnlyCollection<VivoxOutputDevice> |
EffectiveInputDevice
The real active input device being used by the local user.
If the active input device that's in-use is a specific device, the value provided will match the ActiveInputDevice
If the active input device is a virtual device such as default system device
then this will provide the name of the underlying input device being used.
Declaration
VivoxInputDevice EffectiveInputDevice { get; }
Property Value
Type | Description |
---|---|
VivoxInputDevice |
EffectiveOutputDevice
The real active output device being used by the local user.
If the active output device that's in-use is a specific device, the value provided will match the ActiveOutputDevice
If the active output device is a virtual device such as default system device
then this will provide the name of the underlying output device being used.
Declaration
VivoxOutputDevice EffectiveOutputDevice { get; }
Property Value
Type | Description |
---|---|
VivoxOutputDevice |
InputDeviceVolume
The volume of your input.
Declaration
int InputDeviceVolume { get; }
Property Value
Type | Description |
---|---|
int |
IosVoiceProcessingIOMode
The current value of the Voice Processing IO mode for iOS. On error, returns the default Always.
Declaration
IosVoiceProcessingIOModes IosVoiceProcessingIOMode { get; }
Property Value
Type | Description |
---|---|
IosVoiceProcessingIOModes |
IsAudioEchoCancellationEnabled
Indicates whether Vivox's software echo cancellation feature is enabled. Note: This is completely independent of any hardware-provided acoustic echo cancellation that might be available for a device.
Declaration
bool IsAudioEchoCancellationEnabled { get; }
Property Value
Type | Description |
---|---|
bool |
IsInjectingAudio
Indicates whether audio is being injected or not.
Declaration
bool IsInjectingAudio { get; }
Property Value
Type | Description |
---|---|
bool |
IsInputDeviceMuted
Indicates if input devices are muted.
Declaration
bool IsInputDeviceMuted { get; }
Property Value
Type | Description |
---|---|
bool |
IsLoggedIn
Checks whether the user is logged in.
Declaration
bool IsLoggedIn { get; }
Property Value
Type | Description |
---|---|
bool |
IsOutputDeviceMuted
Indicates if output devices are muted.
Declaration
bool IsOutputDeviceMuted { get; }
Property Value
Type | Description |
---|---|
bool |
OutputDeviceVolume
The volume of your output.
Declaration
int OutputDeviceVolume { get; }
Property Value
Type | Description |
---|---|
int |
SignedInPlayerId
The unique ID of the locally signed in user. This will be empty if a user has not successfully signed into Vivox.
Declaration
string SignedInPlayerId { get; }
Property Value
Type | Description |
---|---|
string |
TextToSpeechAvailableVoices
A collection of all available voice profiles that can be used with text-to-speech. These values within can be used to set the current voice profile when provided to TextToSpeechSetVoice(string).
Declaration
ReadOnlyCollection<string> TextToSpeechAvailableVoices { get; }
Property Value
Type | Description |
---|---|
ReadOnlyCollection<string> |
TextToSpeechCurrentVoice
The name of the current voice being used when playback of a message occurs.
Declaration
string TextToSpeechCurrentVoice { get; }
Property Value
Type | Description |
---|---|
string |
TransmittingChannels
A collection of all channels that are transmitting. If the current transmission mode is set to Single, this will only show a single transmitting channel.
Declaration
ReadOnlyCollection<string> TransmittingChannels { get; }
Property Value
Type | Description |
---|---|
ReadOnlyCollection<string> |
Methods
BlockPlayerAsync(string)
"Block" a player, bidirectionally muting audio/text between that player and the local user.
Declaration
Task BlockPlayerAsync(string playerId)
Parameters
Type | Name | Description |
---|---|---|
string | playerId | The PlayerId to bidirectionally mute or unmute |
Returns
Type | Description |
---|---|
Task | Task for the operation |
DeleteChannelTextMessageAsync(string, string)
Deletes an already sent message in a Channel.
Declaration
Task DeleteChannelTextMessageAsync(string channelName, string messageId)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel for the message to be deleted. |
string | messageId | The messageId of the message sent that you would like to delete. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
DeleteDirectTextMessageAsync(string)
Deletes an already sent message in a Direct Message.
Declaration
Task DeleteDirectTextMessageAsync(string messageId)
Parameters
Type | Name | Description |
---|---|---|
string | messageId | The messageId of the message sent that you would like to delete. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
DisableAcousticEchoCancellation()
Disables Vivox's acoustic echo cancellation feature.
Declaration
void DisableAcousticEchoCancellation()
DisableAutoVoiceActivityDetectionAsync()
Disables automatic voice activity detection. Must be logged in to perform this action.
Declaration
Task DisableAutoVoiceActivityDetectionAsync()
Returns
Type | Description |
---|---|
Task | Task for the operation |
EditChannelTextMessageAsync(string, string, string)
Edits an already sent message in a Channel.
Declaration
Task EditChannelTextMessageAsync(string channelName, string messageId, string newMessage)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel for the message to be edited. |
string | messageId | The messageId of the message sent that you would like to edit. |
string | newMessage | The new text of the message to be edited. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
EditDirectTextMessageAsync(string, string)
Edits an already sent message in a Direct Message.
Declaration
Task EditDirectTextMessageAsync(string messageId, string newMessage)
Parameters
Type | Name | Description |
---|---|---|
string | messageId | The messageId of the message sent that you would like to edit. |
string | newMessage | The new text of the message to be edited. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
EnableAcousticEchoCancellation()
Enables Vivox's acoustic echo cancellation feature.
Declaration
void EnableAcousticEchoCancellation()
EnableAutoVoiceActivityDetectionAsync()
Enables automatic configuration of voice activity detection properties by the SDK. If Automatic Voice Activity Detection is enabled, the properties set in SetVoiceActivityDetectionPropertiesAsync(int, int, int) will have no effect. Must be logged in to perform this action.
Declaration
Task EnableAutoVoiceActivityDetectionAsync()
Returns
Type | Description |
---|---|
Task | Task for the operation |
GetChannelTextMessageHistoryAsync(string, int, ChatHistoryQueryOptions)
Fetch Channel Text Messages for a given channel. Use ChatHistoryQueryOptions chatHistoryQueryOptions to filter what is returned.
Declaration
Task<ReadOnlyCollection<VivoxMessage>> GetChannelTextMessageHistoryAsync(string channelName, int requestSize = 10, ChatHistoryQueryOptions chatHistoryQueryOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel the history will be fetched from. |
int | requestSize | The maximum number of messages to return. The larger this value is the longer the query will take to complete. Default is 10, keeping this number low is ideal. |
ChatHistoryQueryOptions | chatHistoryQueryOptions | ChatHistoryQueryOptions is used to customize the history results returned. |
Returns
Type | Description |
---|---|
Task<ReadOnlyCollection<VivoxMessage>> | Task with the ReadOnlyCollection of VivoxMessage |
GetConversationsAsync(ConversationQueryOptions)
Provides a collection of VivoxConversation objects representing conversations that the locally signed-in user has participated in. This can return a combination of channel conversations and directed message conversations. The VivoxConversation objects provided can be used to distinguish between the different ConversationType types.
Declaration
Task<ReadOnlyCollection<VivoxConversation>> GetConversationsAsync(ConversationQueryOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
ConversationQueryOptions | options | Configuration used to tailor the results of the query. |
Returns
Type | Description |
---|---|
Task<ReadOnlyCollection<VivoxConversation>> | Task with the ReadOnlyCollection of VivoxConversations |
GetDirectTextMessageHistoryAsync(string, int, ChatHistoryQueryOptions)
Fetch Direct Text Messages at an account level. Use ChatHistoryQueryOptionschatHistoryQueryOptions to filter what is returned.
Declaration
Task<ReadOnlyCollection<VivoxMessage>> GetDirectTextMessageHistoryAsync(string playerId = null, int requestSize = 10, ChatHistoryQueryOptions chatHistoryQueryOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | playerId | The playerId of the logged in user you would like to search the chat history of. If this value is set then it takes priority over the ChatHistoryQueryOptionschatHistoryQueryOptions value for PlayerId and it will be ignored. Otherwise that PlayerId will be used in the ChatHistoryQueryOptionschatHistoryQueryOptions PlayerId is used. |
int | requestSize | The maximum number of messages to return. The larger this value is the longer the query will take to complete. Default is 10, keeping this number low is ideal. |
ChatHistoryQueryOptions | chatHistoryQueryOptions | ChatHistoryQueryOptions is used to customize the history results returned. |
Returns
Type | Description |
---|---|
Task<ReadOnlyCollection<VivoxMessage>> | Task with the ReadOnlyCollection of VivoxMessage |
GetSafeVoiceConsentStatus()
Gets the local user's consent to Vivox Safe Voice recordings
Declaration
Task<bool> GetSafeVoiceConsentStatus()
Returns
Type | Description |
---|---|
Task<bool> | A task for the operation that will contain the consent status of the user when complete |
InitializeAsync(VivoxConfigurationOptions)
Initializes the Client object which will enable a user to login and check/manage audio devices.
Declaration
Task InitializeAsync(VivoxConfigurationOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
VivoxConfigurationOptions | options | The VivoxConfigurationOptions used to initialize the Vivox Service, controlling advanced audio settings and other controls like logging |
Returns
Type | Description |
---|---|
Task | a Task associated with the Vivox Initialization |
IsSpeechToTextEnabled(string)
Indicates if Speech-to-Text transcription is enabled for a specific channel.
Declaration
bool IsSpeechToTextEnabled(string channelName)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel used to check wether the transcription is enabled. |
Returns
Type | Description |
---|---|
bool | Whether or not Speech-to-Text transcription is enabled for the specified channel. |
JoinEchoChannelAsync(string, ChatCapability, ChannelOptions)
Puts the user in an echo channel using channelName as the unique identifier. In this channel you will hear only your own voice played back at you. If you are not logged into the Vivox service when this is called, you will be automatically logged in.
Declaration
Task JoinEchoChannelAsync(string channelName, ChatCapability chatCapability, ChannelOptions channelOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | A unique identifier for the channel. |
ChatCapability | chatCapability | Used to indicate what type of capabilities the user wants when joining a channel. |
ChannelOptions | channelOptions | General channel configuration options to be used when joining the channel. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
JoinGroupChannelAsync(string, ChatCapability, ChannelOptions)
Puts the user in a 2-D group channel using channelName as the unique identifier. This channel type is similar to a traditional non-positional voice call. If you are not logged into the Vivox service when this is called, you will be automatically logged in.
Declaration
Task JoinGroupChannelAsync(string channelName, ChatCapability chatCapability, ChannelOptions channelOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | A unique identifier for the channel. |
ChatCapability | chatCapability | Used to indicate what type of capabilities the user wants when joining a channel. |
ChannelOptions | channelOptions | General channel configuration options to be used when joining the channel. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
JoinPositionalChannelAsync(string, ChatCapability, Channel3DProperties, ChannelOptions)
Puts the user in a 3-D/positional group channel using channelName as the unique identifier. This channel type is similar to having a conversation in-person involving nuances such as audio attenutation and falloff. The features of a positional channel can be configured by using the Channel3DProperties class. See this class for an in-depth explanation of these features. If you are not logged into the Vivox service when this is called, you will be automatically logged in.
Declaration
Task JoinPositionalChannelAsync(string channelName, ChatCapability chatCapability, Channel3DProperties positionalChannelProperties, ChannelOptions channelOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | A unique identifier for the channel. |
ChatCapability | chatCapability | Used to indicate what type of capabilities the user wants when joining a channel. |
Channel3DProperties | positionalChannelProperties | Configuration properties for a 3-D/positional channel. |
ChannelOptions | channelOptions | General channel configuration options to be used when joining the channel. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
LeaveAllChannelsAsync()
Leaves all channels the currently logged in user is connected to, removing the user from text and voice for those channels.
Declaration
Task LeaveAllChannelsAsync()
Returns
Type | Description |
---|---|
Task | Task for the operation |
LeaveChannelAsync(string)
Leaves a specific channel, removing the user from text and voice for that channel.
Declaration
Task LeaveChannelAsync(string channelName)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The unique identifier of the channel that should be left |
Returns
Type | Description |
---|---|
Task | Task for the operation |
LoginAsync(LoginOptions)
Logs into the Vivox Service, enabling Vivox to perform actions like joining channels or sending directed messages.
Declaration
Task LoginAsync(LoginOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
LoginOptions | options | The LoginOptions to be used to create an account with a display name, and set more complex behaviour like always transmitting to new channels or allowing Text to Speech |
Returns
Type | Description |
---|---|
Task | Task for the operation |
LogoutAsync()
Logs out of the Vivox Service.
Declaration
Task LogoutAsync()
Returns
Type | Description |
---|---|
Task | a Task associated with the Vivox Logout |
MuteInputDevice()
Mutes the local user's input devices preventing the transmission of audio from any local input device.
Declaration
void MuteInputDevice()
MuteOutputDevice()
Mutes the local user's output devices preventing them from hearing incoming audio from any local output device.
Declaration
void MuteOutputDevice()
SendChannelTextMessageAsync(string, string, MessageOptions)
Sends a text message to a channel the user is connected to.
Declaration
Task SendChannelTextMessageAsync(string channelName, string message, MessageOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel the message will be sent to. |
string | message | The text of the message to be sent. |
MessageOptions | options | An optional parameter for adding metadata to the message |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SendDirectTextMessageAsync(string, string, MessageOptions)
Sends a text message to another logged in user.
Declaration
Task SendDirectTextMessageAsync(string playerId, string message, MessageOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | playerId | The playerId of the logged in user the message will be sent to. |
string | message | The text of the message to be sent. |
MessageOptions | options | An optional parameter for adding metadata to the message |
Returns
Type | Description |
---|---|
Task | Task for the operation |
Set3DPosition(GameObject, string, bool)
Set the location of the local user for a specific positonail channel. Note: This version of Set3DPosition will use the same position for the user's "ears" and "mouth", making a slightly less accurate version of positional audio.
Declaration
void Set3DPosition(GameObject participantObject, string channelName, bool allowPanning = true)
Parameters
Type | Name | Description |
---|---|---|
GameObject | participantObject | The position of the GameObject meant to represent the player |
string | channelName | The name of the specific positional channel to update the position in. Must be a positional channel. |
bool | allowPanning | Manages audio panning (audio shifting between left and right ears). Panning is enabled by default but will be disabled if set to false |
Set3DPosition(Vector3, Vector3, Vector3, Vector3, string, bool)
Set the location of the local user for a specific positional channel.
Declaration
void Set3DPosition(Vector3 speakerPos, Vector3 listenerPos, Vector3 listenerAtOrient, Vector3 listenerUpOrient, string channelName, bool allowPanning = true)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | speakerPos | The position of the virtual "mouth." |
Vector3 | listenerPos | The position of the virtual "ear." |
Vector3 | listenerAtOrient | A unit vector that represents the forward (Z) direction, or heading, of the listener. |
Vector3 | listenerUpOrient | A unit vector that represents the up (Y) direction of the listener. Use Vector3(0, 1, 0) for a "global" up in the world space. |
string | channelName | The name of the specific positional channel to update the position in. Must be a positional channel. |
bool | allowPanning | Manages audio panning (audio shifting between left and right ears). Panning is enabled by default but will be disabled if set to false |
SetActiveInputDeviceAsync(VivoxInputDevice)
Sets the specified input device as the active input device for the local user.
Declaration
Task SetActiveInputDeviceAsync(VivoxInputDevice device)
Parameters
Type | Name | Description |
---|---|---|
VivoxInputDevice | device | The device to make the active input device. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SetActiveOutputDeviceAsync(VivoxOutputDevice)
Sets the specified output device as the active output device for the local user.
Declaration
Task SetActiveOutputDeviceAsync(VivoxOutputDevice device)
Parameters
Type | Name | Description |
---|---|---|
VivoxOutputDevice | device | The device to make the active output device. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SetChannelTransmissionModeAsync(TransmissionMode, string)
Changes the channel the local user is currently transmitting into. Options of transmission are all channels, no channels, or a single channel. If you are specifying a single channel, the channelName parameter is mandatory.
Declaration
Task SetChannelTransmissionModeAsync(TransmissionMode transmissionMode, string channelName = null)
Parameters
Type | Name | Description |
---|---|---|
TransmissionMode | transmissionMode | The type of transmission policy to use. |
string | channelName | Name of the individual channel to transmit to. Mandatory when opting to transmit to a single channel. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SetChannelVolumeAsync(string, int)
Sets the volume of an entire channel for the local user. This will adjust the volume of player audio for all players in a channel for the local user. Volume value is clamped between -50 and 50 with a default of 0.
Declaration
Task SetChannelVolumeAsync(string channelName, int value)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel to set the volume value for |
int | value | Volume value to be used - clamped between -50 and 50 with a default value of 0 |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SetInputDeviceVolume(int)
Sets the input device volume for the local user. This applies to all active audio sessions. Volume value is clamped between -50 and 50 with a default of 0.
Declaration
void SetInputDeviceVolume(int value)
Parameters
Type | Name | Description |
---|---|---|
int | value | Volume value to be used - clamped between -50 and 50 with a default value of 0 |
SetIosVoiceProcessingIOMode(IosVoiceProcessingIOModes)
Set the value of the Voice Processing IO mode for iOS.
Declaration
void SetIosVoiceProcessingIOMode(IosVoiceProcessingIOModes IOSVoiceProcessingIOMode)
Parameters
Type | Name | Description |
---|---|---|
IosVoiceProcessingIOModes | IOSVoiceProcessingIOMode | The desired iOS voice processing mode. |
SetMessageAsReadAsync(VivoxMessage, DateTime?)
Sets all messages of a conversation, up to the specified MessageId, as read.
Declaration
Task SetMessageAsReadAsync(VivoxMessage message, DateTime? seenAt = null)
Parameters
Type | Name | Description |
---|---|---|
VivoxMessage | message | The message with an ID you'd like to set as the read/seen checkpoint of a conversation. |
DateTime? | seenAt | Optional time to set the read/seen checkpoint. If not provided, the current UTC time will be used. |
Returns
Type | Description |
---|---|
Task | Task for the operation. |
SetOutputDeviceVolume(int)
Sets the output device volume for the local user. This applies to all active audio sessions. Volume value is clamped between -50 and 50 with a default of 0.
Declaration
void SetOutputDeviceVolume(int value)
Parameters
Type | Name | Description |
---|---|---|
int | value | Volume value to be used - clamped between -50 and 50 with a default value of 0 |
SetSafeVoiceConsentStatus(bool)
Sets the local user's consent to Vivox Safe Voice recordings
Declaration
Task<bool> SetSafeVoiceConsentStatus(bool consentGiven)
Parameters
Type | Name | Description |
---|---|---|
bool | consentGiven | The desired consent status to set for the local user |
Returns
Type | Description |
---|---|
Task<bool> | A task for the operation that will contain the consent status of the user when complete |
SetTokenProvider(IVivoxTokenProvider)
Registers an IVivoxTokenProvider implementation that will be used to vend tokens for Vivox actions. Must be called before initializing the Vivox Service.
Declaration
void SetTokenProvider(IVivoxTokenProvider tokenProvider)
Parameters
Type | Name | Description |
---|---|---|
IVivoxTokenProvider | tokenProvider | Token Provider to override default Token Provider with |
SetVoiceActivityDetectionPropertiesAsync(int, int, int)
Sets voice activity detection parameters. Parameters will be defaulted to their original default value if not provided. Call this with no parameters provided if you wish to reset the VAD settings. It is recommended to cache the settings and apply all of them each time this method is called. Must be logged in to perform this action.
Declaration
Task SetVoiceActivityDetectionPropertiesAsync(int hangover = 2000, int noiseFloor = 576, int sensitivity = 43)
Parameters
Type | Name | Description |
---|---|---|
int | hangover | The hangover time is the time (in milliseconds) it takes for the VAD to switch back from speech mode to silence after the last speech frame is detected. The default value is 2000. |
int | noiseFloor | The noise floor is a dimensionless value between 0 and 20000 that controls how the VAD separates speech from background noise. Lower values assume the user is in a quieter environment where the audio is only speech. Higher values assume a noisy background environment.The default value is 576. Note: Changes to the VAD noiseFloor settings do not affect currently joined channels. If the ability to change VAD settings is available to the end-user, indicate that noiseFloor changes only take effect in the next voice session or only allow changing the noiseFloor when the client is not in a channel. |
int | sensitivity | The sensitivity is a dimensionless value between 0 and 100 that indicates the sensitivity of the VAD. Increasing this value corresponds to decreasing the sensitivity of the VAD (0 is the most sensitive, and 100 is the least sensitive). Higher values of sensitivity require louder audio to trigger the VAD. The default value is 43. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SpeechToTextDisableTranscription(string)
Disables the speech-to-text audio transcription inside a channel.
Declaration
Task SpeechToTextDisableTranscription(string channelName)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel whose transcription will be disabled. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
SpeechToTextEnableTranscription(string)
Enables the speech-to-text audio transcription inside a channel.
Declaration
Task SpeechToTextEnableTranscription(string channelName)
Parameters
Type | Name | Description |
---|---|---|
string | channelName | The name of the channel whose transcription will be enabled. |
Returns
Type | Description |
---|---|
Task | Task for the operation |
StartAudioInjection(string)
This function allows you to start audio injection. The audio file to use for audio injection should be of type WAV and MUST be single channel, 16-bit PCM, with the same sample rate as the negotiated audio codec. Injected audio is played only into the channels you're transmitting into.
Declaration
void StartAudioInjection(string audioFilePath)
Parameters
Type | Name | Description |
---|---|---|
string | audioFilePath | The full pathname for the WAV file to use for audio injection (MUST be single channel, 16-bit PCM, with the same sample rate as the negotiated audio codec) required for start |
StopAudioInjection()
This function allows you to stop audio injection
Declaration
void StopAudioInjection()
TextToSpeechCancelAllMessages()
Cancel all text-to-speech messages (ongoing and enqueued).
Declaration
void TextToSpeechCancelAllMessages()
TextToSpeechCancelMessages(TextToSpeechMessageType)
Cancels all text-to-speech messages of a particular TextToSpeechMessageType type (ongoing and enqueued).
Declaration
void TextToSpeechCancelMessages(TextToSpeechMessageType messageType)
Parameters
Type | Name | Description |
---|---|---|
TextToSpeechMessageType | messageType | The type of messages that you'd like to cancel or have removed from the text-to-speech system's queue. |
TextToSpeechSendMessage(string, TextToSpeechMessageType)
Sends a text-to-speech message to the channel currently being transmitted into based on the TextToSpeechMessageType passed in. This method can also be used for local playback of text/messages exclusively.
Declaration
void TextToSpeechSendMessage(string message, TextToSpeechMessageType messageType)
Parameters
Type | Name | Description |
---|---|---|
string | message | The message that will be sent. |
TextToSpeechMessageType | messageType | Configuration for how the message should be sent. |
TextToSpeechSetVoice(string)
Sets the current voice used when playback of a message occurs. TextToSpeechAvailableVoices contains a list of all available voice names that can be passed into this method when logged in.
Declaration
void TextToSpeechSetVoice(string voiceName)
Parameters
Type | Name | Description |
---|---|---|
string | voiceName | The name of the voice profile you want to use |
UnblockPlayerAsync(string)
"Unblock" a player, bidirectionally unmuting audio/text between that player and the local user.
Declaration
Task UnblockPlayerAsync(string playerId)
Parameters
Type | Name | Description |
---|---|---|
string | playerId | The PlayerId to bidirectionally mute or unmute |
Returns
Type | Description |
---|---|
Task | Task for the operation |
UnmuteInputDevice()
Unmutes the local user's input devices allowing the transmission of audio.
Declaration
void UnmuteInputDevice()
UnmuteOutputDevice()
Unmutes the local user's output devices allowing them to hear incoming audio.
Declaration
void UnmuteOutputDevice()
Events
AvailableInputDevicesChanged
An action triggered when the input device list in refreshed/updated. An example of when this will fire is when an input device is disconnected from the primary device.
Declaration
event Action AvailableInputDevicesChanged
Event Type
Type | Description |
---|---|
Action |
AvailableOutputDevicesChanged
An action triggered when the output device list in refreshed/updated. An example of when this will fire is when an output device is disconnected from the primary device.
Declaration
event Action AvailableOutputDevicesChanged
Event Type
Type | Description |
---|---|
Action |
ChannelJoined
An action that will trigger when a Channel has been successfully joined by the currently logged in user. Once this event fires, the user will be in the selected text/audio state based on the ChatCapabilities of the channel, and will be able to do all channel actions. Provides the ChannelName of the channel successfully joined.
Declaration
event Action<string> ChannelJoined
Event Type
Type | Description |
---|---|
Action<string> |
ChannelLeft
An action that will trigger when a Channel has been successfully left by the currently logged in user. Once this event fires, the user will no longer be in the text/audio state for this channel, and will no longer be able to do any channel operations. Provides the ChannelName of the channel successfully left.
Declaration
event Action<string> ChannelLeft
Event Type
Type | Description |
---|---|
Action<string> |
ChannelMessageDeleted
An Action that will trigger when a channel message has been deleted in any channel the user is in. The VivoxMessage itself will contain the ChannelName of the channel it was sent in, the PlayerId of the Sender, and the MessageId that was deleted. The MessageText will be null.
Declaration
event Action<VivoxMessage> ChannelMessageDeleted
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
ChannelMessageEdited
An Action that will trigger when a channel message has been edited in any channel the user is in. The VivoxMessage itself will contain the ChannelName of the channel it was sent in, the PlayerId of the Sender, and the MessageId that was edited.
Declaration
event Action<VivoxMessage> ChannelMessageEdited
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
ChannelMessageReceived
An Action that will trigger when a channel message has been received in any channel the user is in. The VivoxMessage itself will contain ChannelName of the channel it was sent in, and the PlayerId and DisplayName of the Sender
Declaration
event Action<VivoxMessage> ChannelMessageReceived
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
ConnectionFailedToRecover
An Action that will fire when the network connection has been interrupted for over 30 seconds, and Vivox has halted attempts to reconnect.
Declaration
event Action ConnectionFailedToRecover
Event Type
Type | Description |
---|---|
Action |
ConnectionRecovered
An action that will fire when the network connection has been successfully recovered.
Declaration
event Action ConnectionRecovered
Event Type
Type | Description |
---|---|
Action |
ConnectionRecovering
An Action that will fire when the network connection for the logged-in device is interrupted. Vivox will attempt to re-establish connection for 30 seconds, firing ConnectionRecovered if the connection is recovered, or ConnectionFailedToRecover if there is a failure to reconnect.
Declaration
event Action ConnectionRecovering
Event Type
Type | Description |
---|---|
Action |
DirectedMessageDeleted
An Action that will trigger when a direct message has been deleted in any channel the user is in. The VivoxMessage itself will have the PlayerId of the Player and the MessageId that was edited. The ChannelName and Message will be set to null.
Declaration
event Action<VivoxMessage> DirectedMessageDeleted
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
DirectedMessageEdited
An Action that will trigger when a direct message has been deleted in any channel the user is in. The VivoxMessage itself will have the PlayerId of the Player and the MessageId that was edited. The ChannelName will be set to null.
Declaration
event Action<VivoxMessage> DirectedMessageEdited
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
DirectedMessageReceived
An Action that will trigger when a directed message has been received by the currently logged in user. The VivoxMessage itself will have the PlayerId and DisplayName of the Player, and the ChannelName will be set to null.
Declaration
event Action<VivoxMessage> DirectedMessageReceived
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |
EffectiveInputDeviceChanged
An action triggered when the effective input device changes.
If the active input device is a virtual device such as default system device
and the underlying device set in the system settings changes this event will be triggered.
Declaration
event Action EffectiveInputDeviceChanged
Event Type
Type | Description |
---|---|
Action |
EffectiveOutputDeviceChanged
An action triggered when the effective output device changes.
If the active output device is a virtual device such as default system device
and the underlying device set in the system settings changes this event will be triggered.
Declaration
event Action EffectiveOutputDeviceChanged
Event Type
Type | Description |
---|---|
Action |
LoggedIn
An action that will trigger when an Account is successfully LoggedIn to the Vivox Service.
Declaration
event Action LoggedIn
Event Type
Type | Description |
---|---|
Action |
LoggedOut
An action that will trigger when an Account is successfully LoggedIn to the Vivox Service.
Declaration
event Action LoggedOut
Event Type
Type | Description |
---|---|
Action |
ParticipantAddedToChannel
An Action that will trigger when a new Participant has been added to any channel the user is in. Provides a Participant object, which contains the Channel the participant is in, along with their PlayerId, DisplayName, whether speech has been detected, more specific audio energy changes and Muted status.
Declaration
event Action<VivoxParticipant> ParticipantAddedToChannel
Event Type
Type | Description |
---|---|
Action<VivoxParticipant> |
ParticipantRemovedFromChannel
An Action that will trigger when a Participant has been removed from a channel the user is in. Provides a Participant object, which contains the Channel the participant is in, along with their PlayerId, DisplayName, whether speech has been detected, more specific audio energy changes and Muted status.
Declaration
event Action<VivoxParticipant> ParticipantRemovedFromChannel
Event Type
Type | Description |
---|---|
Action<VivoxParticipant> |
SpeechToTextMessageReceived
An action that will trigger when a transcribed message is added. Provides the added transcribed message.
Declaration
event Action<VivoxMessage> SpeechToTextMessageReceived
Event Type
Type | Description |
---|---|
Action<VivoxMessage> |