Group Voice and Text Communications
Reference the Vivox Core SDK API.
Read time 22 minutesLast updated 7 months ago
Classes
Name | |
|---|---|
| struct | vx_vxd The Vivox eXtended Data (VXD) that is received. |
| struct | vx_req_session_media_connect Connect media (audio) in a session. |
| struct | vx_req_session_media_disconnect |
| struct | vx_req_session_text_connect Add text to a session. |
| struct | vx_req_session_text_disconnect Disconnect text in a session. |
| struct | vx_req_session_terminate End an established session (hang-up or disconnect). |
| struct | vx_req_session_mute_local_speaker Mute or unmute the audio render or the incoming text messages of the logged in user for the specified session. |
| struct | vx_req_session_set_local_render_volume Set the audio render volume for the specified session. |
| struct | vx_req_session_set_participant_volume_for_me Set the volume for a participant in the current session. |
| struct | vx_req_session_set_participant_mute_for_me Mute a participant in the current session. |
| struct | vx_req_session_set_3d_position Set and get the 3D position of the speaker and listener. |
| struct | vx_req_session_set_voice_font Apply a voice font to an already established voice session. |
| struct | vx_req_session_send_message Send a message to all participants in the session. |
| struct | vx_req_session_delete_message Delete a message for all participants in the session. |
| struct | vx_req_session_edit_message Edit a message for all participants in the session. |
| struct | vx_req_session_archive_query Query messages that were archived by the server for the specified channel. |
| struct | vx_req_session_chat_history_query Query messages that were archived by the server for the specified channel. |
| struct | vx_req_session_send_notification Send a notification about the properties of the current session (for example, whether a user is typing). |
| struct | vx_req_account_control_communications Manage communication between users. |
| struct | vx_req_session_transcription_control Enable or disable session transcription. |
| struct | vx_resp_session_media_connect The response for vx_req_session_media_connect. |
| struct | vx_resp_session_media_disconnect The response for vx_req_session_media_disconnect. |
| struct | vx_resp_session_text_connect The response for vx_req_session_text_connect. |
| struct | vx_resp_session_text_disconnect The response for vx_req_session_text_disconnect. |
| struct | vx_resp_session_terminate The response for vx_req_session_terminate. |
| struct | vx_resp_session_mute_local_speaker The response for vx_req_session_mute_local_speaker. |
| struct | vx_resp_session_set_local_render_volume The response for vx_req_session_set_local_render_volume. |
| struct | vx_resp_session_channel_invite_user The response for vx_req_session_channel_invite_user. |
| struct | vx_resp_session_set_participant_volume_for_me The response for vx_req_session_set_participant_volume_for_me. |
| struct | vx_resp_session_set_participant_mute_for_me The response for vx_req_session_set_participant_mute_for_me. |
| struct | vx_resp_session_set_3d_position The response for vx_req_session_set_3d_position. |
| struct | vx_resp_session_delete_message The response for vx_req_session_delete_message. |
| struct | vx_resp_session_edit_message The response for vx_req_session_edit_message. |
| struct | vx_resp_session_archive_query The response for vx_req_session_archive_query. |
| struct | vx_resp_session_chat_history_query The response for vx_req_session_chat_history_query. |
| struct | vx_resp_session_send_notification The response for vx_req_session_send_notification. |
| struct | vx_resp_session_transcription_control The response for vx_req_session_transcription_control. |
| struct | vx_evt_session_notification Received when another user has started or stopped typing, or has raised or lowered their hand, within the context of a session. |
| struct | vx_evt_message Presented when an incoming message has arrived from a participant in an open session with text enabled. |
| struct | vx_evt_session_delete_message Presented when an incoming message has arrived from a participant in an open session with message-deleted. |
| struct | vx_evt_session_edit_message Presented when an incoming message has arrived from a participant in an open session with message-edited. |
| struct | vx_evt_account_delete_message Presented when an incoming message has arrived from a participant with message-deleted. |
| struct | vx_evt_account_edit_message Presented when an incoming message has arrived from a participant with message-edited. |
| struct | vx_evt_session_archive_message Presented when a message is found in response to a [vx_req_session_archive_query] or [vx_req_session_chat_history_query] request. |
| struct | vx_evt_transcribed_message Presented when an incoming transcribed text has arrived from a participant in an open session. |
| struct | vx_evt_session_archive_query_end Presented when a channel history query is completed. |
| struct | vx_evt_media_stream_updated Sent when session media has been altered. |
| struct | vx_evt_text_stream_updated Sent when the session text has been altered. |
| struct | vx_evt_session_added Sent when a session is added. |
| struct | vx_evt_session_removed Sent when a session is removed. |
| struct | vx_evt_participant_added Presented when a participant is added to a session. |
| struct | vx_evt_participant_removed Presented when a participant is removed from a session. |
| struct | vx_evt_participant_updated Received when the properties of the participant change For example: mod muted, speaking, volume, energy, or typing notifications. |
| struct | vx_evt_session_updated Sent when a session is updated. |
Types
Functions
Types Documentation
typedef vx_vxd_t
typedef struct vx_vxd vx_vxd_t;
The Vivox eXtended Data (VXD) that is received.
typedef vx_req_session_media_connect_t
typedef struct vx_req_session_media_connect vx_req_session_media_connect_t;
Connect media (audio) in a session.
Note: To use this request, a session must have already been created with media disconnected.
typedef vx_req_session_media_disconnect_t
typedef struct vx_req_session_media_disconnect vx_req_session_media_disconnect_t;
Note: To use this request, a session must have already been created and connected. This can also be used to hang up a call that the user is in, or to refuse an incoming call.
typedef vx_req_session_text_connect_t
typedef struct vx_req_session_text_connect vx_req_session_text_connect_t;
Add text to a session.
Note: To use this request, a session must have already been created.
typedef vx_req_session_text_disconnect_t
typedef struct vx_req_session_text_disconnect vx_req_session_text_disconnect_t;
Disconnect text in a session.
Note: To use this request, a session must have already been created and connected.
typedef vx_req_session_terminate_t
typedef struct vx_req_session_terminate vx_req_session_terminate_t;
End an established session (hang-up or disconnect).
typedef vx_req_session_mute_local_speaker_t
typedef struct vx_req_session_mute_local_speaker vx_req_session_mute_local_speaker_t;
Mute or unmute the audio render or the incoming text messages of the logged in user for the specified session.
typedef vx_req_session_set_local_render_volume_t
typedef struct vx_req_session_set_local_render_volume vx_req_session_set_local_render_volume_t;
Set the audio render volume for the specified session.
typedef vx_req_session_set_participant_volume_for_me_t
typedef struct vx_req_session_set_participant_volume_for_me vx_req_session_set_participant_volume_for_me_t;
Set the volume for a participant in the current session.
This only affects the audio that is heard locally, and does not change the audio that is heard by any of the other participants. These changes are only valid for the current session; if the participant with the audio that is set leaves the session and rejoins, then the settings are lost.
typedef vx_req_session_set_participant_mute_for_me_t
typedef struct vx_req_session_set_participant_mute_for_me vx_req_session_set_participant_mute_for_me_t;
Mute a participant in the current session.
Note: This command only applies to channels (3D and static), and is not applicable for person-to-person calls.
This only affects the audio that is heard locally, and does not change the audio that is heard by any of the other participants. These changes are only valid for the current session; if the participant with the audio that is set leaves the session and rejoins, then the settings are lost.
typedef vx_req_session_set_3d_position_t
typedef struct vx_req_session_set_3d_position vx_req_session_set_3d_position_t;
Set and get the 3D position of the speaker and listener.
For most applications, it is expected that the speaker and listener positions are the same. The SDK also supports the decoupling of these positions (for example, for the implementation of a camera audio zoom, the virtual "mouth" is where the avatar is, and the virtual "ears" are where the camera view is).
typedef vx_req_session_set_voice_font_t
typedef struct vx_req_session_set_voice_font vx_req_session_set_voice_font_t;
Apply a voice font to an already established voice session.
typedef vx_req_session_send_message_t
typedef struct vx_req_session_send_message vx_req_session_send_message_t;
Send a message to all participants in the session.
typedef vx_req_session_delete_message_t
typedef struct vx_req_session_delete_message vx_req_session_delete_message_t;
Delete a message for all participants in the session.
typedef vx_req_session_edit_message_t
typedef struct vx_req_session_edit_message vx_req_session_edit_message_t;
Edit a message for all participants in the session.
typedef vx_req_session_archive_query_t
typedef struct vx_req_session_archive_query vx_req_session_archive_query_t;
Query messages that were archived by the server for the specified channel.
This includes all messages that are sent and received by using vx_req_session_send_message. This does not include any message that is sent or received by using vx_req_account_send_message. Messages can appear in the archive with a delay of up to several seconds after being sent or received. To query P2P message history, use vx_req_account_archive_query.
typedef vx_req_session_chat_history_query_t
typedef struct vx_req_session_chat_history_query vx_req_session_chat_history_query_t;
Query messages that were archived by the server for the specified channel.
This includes all messages that are sent and received by using vx_req_session_send_message. This does not include any message that is sent or received by using vx_req_account_send_message. Messages can appear in the archive with a delay of up to several seconds after being sent or received. To query P2P message history, use vx_req_account_chat_history_query.
typedef vx_req_session_send_notification_t
typedef struct vx_req_session_send_notification vx_req_session_send_notification_t;
Send a notification about the properties of the current session (for example, whether a user is typing).
typedef vx_req_account_control_communications_t
typedef struct vx_req_account_control_communications vx_req_account_control_communications_t;
Manage communication between users.
typedef vx_req_session_transcription_control_t
typedef struct vx_req_session_transcription_control vx_req_session_transcription_control_t;
Enable or disable session transcription.
typedef vx_resp_session_media_connect_t
typedef struct vx_resp_session_media_connect vx_resp_session_media_connect_t;
The response for vx_req_session_media_connect.
typedef vx_resp_session_media_disconnect_t
typedef struct vx_resp_session_media_disconnect vx_resp_session_media_disconnect_t;
The response for vx_req_session_media_disconnect.
typedef vx_resp_session_text_connect_t
typedef struct vx_resp_session_text_connect vx_resp_session_text_connect_t;
The response for vx_req_session_text_connect.
typedef vx_resp_session_text_disconnect_t
typedef struct vx_resp_session_text_disconnect vx_resp_session_text_disconnect_t;
The response for vx_req_session_text_disconnect.
typedef vx_resp_session_terminate_t
typedef struct vx_resp_session_terminate vx_resp_session_terminate_t;
The response for vx_req_session_terminate.
typedef vx_resp_session_mute_local_speaker_t
typedef struct vx_resp_session_mute_local_speaker vx_resp_session_mute_local_speaker_t;
The response for vx_req_session_mute_local_speaker.
typedef vx_resp_session_set_local_render_volume_t
typedef struct vx_resp_session_set_local_render_volume vx_resp_session_set_local_render_volume_t;
The response for vx_req_session_set_local_render_volume.
typedef vx_resp_session_channel_invite_user_t
typedef struct vx_resp_session_channel_invite_user vx_resp_session_channel_invite_user_t;
The response for vx_req_session_channel_invite_user.
typedef vx_resp_session_set_participant_volume_for_me_t
typedef struct vx_resp_session_set_participant_volume_for_me vx_resp_session_set_participant_volume_for_me_t;
The response for vx_req_session_set_participant_volume_for_me.
typedef vx_resp_session_set_participant_mute_for_me_t
typedef struct vx_resp_session_set_participant_mute_for_me vx_resp_session_set_participant_mute_for_me_t;
The response for vx_req_session_set_participant_mute_for_me.
typedef vx_resp_session_set_3d_position_t
typedef struct vx_resp_session_set_3d_position vx_resp_session_set_3d_position_t;
The response for vx_req_session_set_3d_position.
typedef vx_resp_session_delete_message_t
typedef struct vx_resp_session_delete_message vx_resp_session_delete_message_t;
The response for vx_req_session_delete_message.
typedef vx_resp_session_edit_message_t
typedef struct vx_resp_session_edit_message vx_resp_session_edit_message_t;
The response for vx_req_session_edit_message.
typedef vx_resp_session_archive_query_t
typedef struct vx_resp_session_archive_query vx_resp_session_archive_query_t;
The response for vx_req_session_archive_query.
typedef vx_resp_session_chat_history_query_t
typedef struct vx_resp_session_chat_history_query vx_resp_session_chat_history_query_t;
The response for vx_req_session_chat_history_query.
typedef vx_resp_session_send_notification_t
typedef struct vx_resp_session_send_notification vx_resp_session_send_notification_t;
The response for vx_req_session_send_notification.
typedef vx_resp_session_transcription_control_t
typedef struct vx_resp_session_transcription_control vx_resp_session_transcription_control_t;
The response for vx_req_session_transcription_control.
typedef vx_evt_session_notification_t
typedef struct vx_evt_session_notification vx_evt_session_notification_t;
Received when another user has started or stopped typing, or has raised or lowered their hand, within the context of a session.
typedef vx_evt_message_t
typedef struct vx_evt_message vx_evt_message_t;
Presented when an incoming message has arrived from a participant in an open session with text enabled.
typedef vx_evt_session_delete_message_t
typedef struct vx_evt_session_delete_message vx_evt_session_delete_message_t;
Presented when an incoming message has arrived from a participant in an open session with message-deleted.
typedef vx_evt_session_edit_message_t
typedef struct vx_evt_session_edit_message vx_evt_session_edit_message_t;
Presented when an incoming message has arrived from a participant in an open session with message-edited.
typedef vx_evt_account_delete_message_t
typedef struct vx_evt_account_delete_message vx_evt_account_delete_message_t;
Presented when an incoming message has arrived from a participant with message-deleted.
typedef vx_evt_account_edit_message_t
typedef struct vx_evt_account_edit_message vx_evt_account_edit_message_t;
Presented when an incoming message has arrived from a participant with message-edited.
typedef vx_evt_session_archive_message_t
typedef struct vx_evt_session_archive_message vx_evt_session_archive_message_t;
Presented when a message is found in response to a vx_req_session_archive_query or vx_req_session_chat_history_query request.
This event is triggered for every message that is found.
typedef vx_evt_transcribed_message_t
typedef struct vx_evt_transcribed_message vx_evt_transcribed_message_t;
Presented when an incoming transcribed text has arrived from a participant in an open session.
typedef vx_evt_session_archive_query_end_t
typedef struct vx_evt_session_archive_query_end vx_evt_session_archive_query_end_t;
Presented when a channel history query is completed.
There is one vx_evt_session_archive_query_end event for every query started with a vx_req_session_archive_query request.
typedef vx_evt_media_stream_updated_t
typedef struct vx_evt_media_stream_updated vx_evt_media_stream_updated_t;
Sent when session media has been altered.
typedef vx_evt_text_stream_updated_t
typedef struct vx_evt_text_stream_updated vx_evt_text_stream_updated_t;
Sent when the session text has been altered.
typedef vx_evt_session_added_t
typedef struct vx_evt_session_added vx_evt_session_added_t;
Sent when a session is added.
typedef vx_evt_session_removed_t
typedef struct vx_evt_session_removed vx_evt_session_removed_t;
Sent when a session is removed.
typedef vx_evt_participant_added_t
typedef struct vx_evt_participant_added vx_evt_participant_added_t;
Presented when a participant is added to a session.
When joining a channel, a participant added event is raised for all active participants in the channel.
typedef vx_evt_participant_removed_t
typedef struct vx_evt_participant_removed vx_evt_participant_removed_t;
Presented when a participant is removed from a session.
typedef vx_evt_participant_updated_t
typedef struct vx_evt_participant_updated vx_evt_participant_updated_t;
Received when the properties of the participant change For example: mod muted, speaking, volume, energy, or typing notifications.
typedef vx_evt_session_updated_t
typedef struct vx_evt_session_updated vx_evt_session_updated_t;
Sent when a session is updated.
Functions Documentation
function vx_vxd_send
VIVOXSDK_DLLEXPORT int vx_vxd_send( VX_HANDLE session_handle, const char * data, size_t size)
Send VXD into the channel.
Parameters:
- session_handle - [in] The session handle to send VXD to.
- data - [in] The data to be sent.
- size - [in] The data size in bytes.
Return: - 0 if successful, non-zero if failed (SDK not initialized, invalid argument (session, ptr), size too big).
function vx_vxd_recv
VIVOXSDK_DLLEXPORT int vx_vxd_recv( VX_HANDLE session_handle, vx_vxd_t ** vxd_ptr)
Receive VXD from the channel.
Parameters:
- session_handle - [in] The session handle to receive VXD from.
- vxd_ptr - [out] On success, will contain a pointer to the received VXD. Untouched on failure. The caller is responsible for disposing of it with vx_vxd_destroy().
Return: - 0 if successful, non-zero if failed (SDK not initialized, invalid argument (session, ptr), no more data).
function vx_vxd_destroy
VIVOXSDK_DLLEXPORT int vx_vxd_destroy( vx_vxd_t * vxd)
Dispose of the VXD object returned by vx_vxd_recv().
Parameters:
- vxd - [in] VXD to dispose
Return: - 0 if successful, non-zero if failed (SDK not initialized).
function vx_req_session_media_connect_create
VIVOXSDK_DLLEXPORT int vx_req_session_media_connect_create( vx_req_session_media_connect_t ** req)
Allocate and initialize a vx_req_session_media_connect object.
function vx_req_session_media_disconnect_create
VIVOXSDK_DLLEXPORT int vx_req_session_media_disconnect_create( vx_req_session_media_disconnect_t ** req)
Allocate and initialize a vx_req_session_media_disconnect object.
function vx_req_session_text_disconnect_create
VIVOXSDK_DLLEXPORT int vx_req_session_text_disconnect_create( vx_req_session_text_disconnect_t ** req)
Allocate and initialize a vx_req_session_text_disconnect object.
function vx_req_session_terminate_create
VIVOXSDK_DLLEXPORT int vx_req_session_terminate_create( vx_req_session_terminate_t ** req)
Allocate and initialize a vx_req_session_terminate object.
function vx_req_session_mute_local_speaker_create
VIVOXSDK_DLLEXPORT int vx_req_session_mute_local_speaker_create( vx_req_session_mute_local_speaker_t ** req)
Allocate and initialize a vx_req_session_mute_local_speaker object.
function vx_req_session_set_local_render_volume_create
VIVOXSDK_DLLEXPORT int vx_req_session_set_local_render_volume_create( vx_req_session_set_local_render_volume_t ** req)
Allocate and initialize a vx_req_session_set_local_render_volume object.
function vx_req_session_channel_invite_user_create
VIVOXSDK_DLLEXPORT int vx_req_session_channel_invite_user_create( vx_req_session_channel_invite_user_t ** req)
Create a vx_req_session_channel_invite_user_t request.
function vx_req_session_set_participant_volume_for_me_create
VIVOXSDK_DLLEXPORT int vx_req_session_set_participant_volume_for_me_create( vx_req_session_set_participant_volume_for_me_t ** req)
Allocate and initialize a vx_req_session_set_participant_volume_for_me object.
function vx_req_session_set_participant_mute_for_me_create
VIVOXSDK_DLLEXPORT int vx_req_session_set_participant_mute_for_me_create( vx_req_session_set_participant_mute_for_me_t ** req)
Allocate and initialize a vx_req_session_set_participant_mute_for_me object.
function vx_req_session_set_3d_position_create
VIVOXSDK_DLLEXPORT int vx_req_session_set_3d_position_create( vx_req_session_set_3d_position_t ** req)
Allocate and initialize a vx_req_session_set_3d_position object.
function vx_req_session_set_voice_font_create
VIVOXSDK_DLLEXPORT int vx_req_session_set_voice_font_create( vx_req_session_set_voice_font_t ** req)
Allocate and initialize a vx_req_session_set_voice_font object.
function vx_req_session_send_message_create
VIVOXSDK_DLLEXPORT int vx_req_session_send_message_create( vx_req_session_send_message_t ** req)
Allocate and initialize a vx_req_session_send_message object.
function vx_req_session_delete_message_create
VIVOXSDK_DLLEXPORT int vx_req_session_delete_message_create( vx_req_session_delete_message_t ** req)
Allocate and initialize a vx_req_session_delete_message object.
function vx_req_session_edit_message_create
VIVOXSDK_DLLEXPORT int vx_req_session_edit_message_create( vx_req_session_edit_message_t ** req)
Allocate and initialize a vx_req_session_edit_message object.
function vx_req_session_archive_query_create
VIVOXSDK_DLLEXPORT int vx_req_session_archive_query_create( vx_req_session_archive_query_t ** req)
Allocate and initialize a vx_req_session_archive_query object.
function vx_req_session_chat_history_query_create
VIVOXSDK_DLLEXPORT int vx_req_session_chat_history_query_create( vx_req_session_chat_history_query_t ** req)
Allocate and initialize a vx_req_session_chat_history_query object.
function vx_req_session_send_notification_create
VIVOXSDK_DLLEXPORT int vx_req_session_send_notification_create( vx_req_session_send_notification_t ** req)
Allocate and initialize a vx_req_session_send_notification object.
function vx_req_account_send_message_create
VIVOXSDK_DLLEXPORT int vx_req_account_send_message_create( vx_req_account_send_message_t ** req)
Allocate and initialize a vx_req_session_send_message object.
function vx_req_account_delete_message_create
VIVOXSDK_DLLEXPORT int vx_req_account_delete_message_create( vx_req_account_delete_message_t ** req)
Allocate and initialize a vx_req_account_delete_message object.
function vx_req_account_edit_message_create
VIVOXSDK_DLLEXPORT int vx_req_account_edit_message_create( vx_req_account_edit_message_t ** req)
Allocate and initialize a vx_req_account_edit_message object.
function vx_req_aux_notify_application_state_change_create
VIVOXSDK_DLLEXPORT int vx_req_aux_notify_application_state_change_create( vx_req_aux_notify_application_state_change_t ** req)
Allocate and initialize a vx_req_aux_notify_application_state_change object.
function vx_req_account_control_communications_create
VIVOXSDK_DLLEXPORT int vx_req_account_control_communications_create( vx_req_account_control_communications_t ** req)
Allocate and initialize a vx_req_account_control_communications object.
function vx_req_session_transcription_control_create
VIVOXSDK_DLLEXPORT int vx_req_session_transcription_control_create( vx_req_session_transcription_control_t ** req)
Allocate and initialize a vx_req_session_transcription_control object.