文档
引擎
服务
增长
工业
支持
引擎
服务
增长
工业
支持
Vivox Core SDK
Vivox Core SDK
此页面不支持所选语言。
Vivox
Vivox Core SDK
Overview
Before you begin
Supported platforms and versions
Basic concepts
Get started
Integration guide
Phase 1: Planning and organization
Login management
Channel management
Game server integration
Authorization
Voice-related logging
User settings
UI integration
Roster list
Voice option dialog
Microphone settings
Volume-for-me control
Speaking indicator
Phase 2: Implementation
Phase 3: Testing
Smoke test
Feature checkpoints
Quick start guide
Initializing Vivox
Logging in
Assign a unique username
Generate a login access token
Submit a login request
Joining and leaving channels
Generate and submit a join token
Process join responses and events
Handle join errors
Release notes
Developer Guide
Client SDK basics
Initialize the Vivox SDK
Handle messages
Message callback
Message polling
Message types
Character encoding
Requests and responses
Request, response, and event mapping to Vivox functionality
Create the connector object
Sign in to a game
Sign out of a game
Uninitialize the Vivox SDK
Channels
Channel name criteria
Channel types
Echo channels
Positional channels
Large 3D channels setting
Positional channel parameters
Positional channel configuration
Volume differences
Channel identifiers for large scale games
Participant events
Join a channel
Request capture device access
Initiate a channel join
Leave a channel
Kick a user from a channel
Session groups
Single session groups
Audio injection
Methods for setting audio levels
Derumbler
Automatic connection recovery
Network connection state events
Network reconnect failure
Partial connection failure
Presence management
Buddy behavior
Add a buddy
Delete a buddy
Presence capabilities
Set presence information
Buddy presence changes
Companion applications
Messaging
Group text messages
Directed text
Send data through text messages
Text chat developer guide
Adaptive chat filter
Chat history
Retrieve account-wide chat history
Retrieve channel-based chat history
Chat history query with blocked participants
Get last read message information from a given channel
Text evidence management
Evidence report API
Evidence report HTTP request
Evidence report HTTP response example
Player evidence report API
Player evidence report HTTP request
Player evidence report HTTP response
Edit and Delete
Channel-based message edit
Channel-based message delete
XMPP representation - Edit a message in a channel
XMPP representation - Delete a message in a channel
Custom XML Namespaces
Offline direct messages
Anti-flooding
Large text channel setting
Retrieve conversations list
Set Chat Markers
Channel-specific options
SDKSampleApp overview
Run the SDKSampleApp
Sign in as Alice
Sign in as Bob
Send a directed message
Send a channel message
Manage audio
Direct voice audio access
Callback APIs
Callback usage
Read and alter audio data for each participant
In-game audio control
In-game audio device selection
In-game control of audio levels
Muting
Mute voice and text messages
Mute a local speaker device
Mute a local microphone device
Retrieve the volume and mute status of a local device
User-to-user muting
User-to-user muting in a specified channel
User-to-user muting in all channels
Crossmute operations
User-to-channel muting
Moderator mute a user
Couch co-op
Couch co-op configuration
Couch co-op example workflow
Android app development
Bluetooth profile management
Bluetooth profile comparison
SCO handshake failures
Bluetooth tradeoffs with Vivox
Change a Bluetooth profile
Troubleshooting Bluetooth SCO underrun issues
Android SDK permission requirements
Android library requirements
Initialize Vivox Android services
Android speakerphone audio: Mono or stereo
Update the ProGuard rule file
Smart Platform Audio Management
Acoustic echo cancellation
Disable the Vivox SDK internal AEC
Hardware echo cancellation
Absolute paths for native libraries
Reduce Opus CPU load on low-powered Android devices
iOS app development
Required Info.plist settings for iOS apps
Acoustic echo cancellation
Initialize the AVAudioSession on app startup
AVAudioSessionModeVoiceChat
Disable the Vivox SDK internal AEC
iOS known limitations
Cannot set iOS device volume to 0 when Voice-Processing I/O unit is active
The iOS microphone recording indicator
AVAudioPlayer volume inconsistencies
Volume shifts
Restore audio volume
macOS app development
Required entitlements and Info.plist settings for macOS apps
Windows app development
Open UDP ports during Windows app installation
Speech-to-text audio transcription
Audio transcription conditions
Audio transcription delivery
Enable speech-to-text transcription
Disable speech-to-text transcription
Audio transcription language support
Audio transcription error codes
Text-to-speech
Initialize text-to-speech
Text-to-speech voice options
Text-to-speech destinations
Inject a text-to-speech message
Queue a text-to-speech message
Cancel a text-to-speech message
Text-to-speech events
Get raw audio of synthesized speech
Use text-to-speech for incoming messages
Shut down text-to-speech
Troubleshooting
Voice activity detection
Parameter specifics
VAD adjustments
Codec comparison
Vivox Client SDK logs
Vivox SDK error codes
Reference
Access Token Developer Guide
Access token terminology
Requests that require access tokens
Access token identifiers
Usernames
Channel names
Access token issuers & signing keys
Access token format
Access token header
Access token payload
Access token signature
Supported values for the Vivox action claim
Access token examples
Example: Login token
Example: Join token
Example: Join_Muted token
Example: Kick tokens
Example: Drop_All token
Example: Mute tokens
Example: Mute_All token
Example: Transcription token
Generate a token on the client
Generate a token on a secure server
Example: C++
Example: C#
Example: Python
Example: JavaScript
Key update API
Add an application API key
Revoke an application API key
Troubleshooting an application API key
Override development key generation
Access token error codes
Server to Server Web API Reference Guide
Prerequisites
Authentication
Access tokens
Channel and user identification
User URI structure
Channel URI structure
Parameters
Common parameters
Fully qualified identifiers
Login API
Control active channels API
Mute a user in a channel
Mute all users in a channel
Unmute a user in a channel
Unmute all users in a channel
Kick a user from a channel
Kick all users from a channel
Kick API
Access token claims for the Kick API
URI structure for the Kick API
Kick a user from a channel
Kick a user from a server
Error handling
Core API Reference Manual
Modules
Initialization
Sending and Receiving Vivox Messages
Memory Management
Logging In and Logging Out
Group Voice and Text Communications
Audio Devices
Diagnostics
Data Structures
vx_account
vx_auto_accept_rule
vx_before_recv_audio_mixed_participant_data_t
vx_block_rule
vx_buddy
vx_call_stats
vx_channel
vx_connectivity_test_result
vx_device
vx_evt_account_archive_message
vx_evt_account_archive_query_end
vx_evt_account_chat_history_message
vx_evt_account_chat_history_query_end
vx_evt_account_delete_message
vx_evt_account_edit_message
vx_evt_account_login_state_change
vx_evt_account_send_message_failed
vx_evt_audio_device_hot_swap
vx_evt_aux_audio_properties
vx_evt_base
vx_evt_buddy_and_group_list_changed
vx_evt_buddy_changed
vx_evt_buddy_group_changed
vx_evt_buddy_presence
vx_evt_connection_state_changed
vx_evt_idle_state_changed
vx_evt_keyboard_mouse
vx_evt_media_completion
vx_evt_media_stream_updated
vx_evt_message
vx_evt_network_message
vx_evt_participant_added
vx_evt_participant_removed
vx_evt_participant_updated
vx_evt_publication_state_changed
vx_evt_server_app_data
vx_evt_session_added
vx_evt_session_archive_message
vx_evt_session_archive_query_end
vx_evt_session_chat_history_message
vx_evt_session_chat_history_query_end
vx_evt_session_delete_message
vx_evt_session_edit_message
vx_evt_session_notification
vx_evt_session_removed
vx_evt_session_updated
vx_evt_sessiongroup_added
vx_evt_sessiongroup_playback_frame_played
vx_evt_sessiongroup_removed
vx_evt_sessiongroup_updated
vx_evt_stt_failed
vx_evt_subscription
vx_evt_text_stream_updated
vx_evt_transcribed_message
vx_evt_tts_injection_ended
vx_evt_tts_injection_failed
vx_evt_tts_injection_started
vx_evt_user_app_data
vx_evt_user_to_user_message
vx_evt_voice_service_connection_state_changed
vx_generic_credentials
vx_group
vx_message_base
vx_name_value_pair
vx_participant
vx_req_account_anonymous_login
vx_req_account_archive_query
vx_req_account_authtoken_login
vx_req_account_buddy_delete
vx_req_account_buddy_set
vx_req_account_channel_add_acl
vx_req_account_channel_change_owner
vx_req_account_channel_get_acl
vx_req_account_channel_remove_acl
vx_req_account_chat_history_get_last_read
vx_req_account_chat_history_query
vx_req_account_control_communications
vx_req_account_create_auto_accept_rule
vx_req_account_create_block_rule
vx_req_account_delete_auto_accept_rule
vx_req_account_delete_block_rule
vx_req_account_delete_message Struct Reference
vx_req_account_edit_message Struct Reference
vx_req_account_get_account
vx_req_account_get_session_fonts
vx_req_account_get_template_fonts
vx_req_account_list_auto_accept_rules
vx_req_account_list_block_rules
vx_req_account_list_buddies_and_groups
vx_req_account_login
vx_req_account_logout
vx_req_account_post_crash_dump
vx_req_account_send_message
vx_req_account_send_sms
vx_req_account_send_subscription_reply
vx_req_account_send_user_app_data
vx_req_account_set_login_properties
vx_req_account_set_presence
vx_req_account_update_account
vx_req_account_web_call
vx_req_aux_capture_audio_start
vx_req_aux_capture_audio_stop
vx_req_aux_connectivity_info
vx_req_aux_create_account
vx_req_aux_deactivate_account
vx_req_aux_diagnostic_state_dump
vx_req_aux_get_capture_devices
vx_req_aux_get_derumbler_properties
vx_req_aux_get_mic_level
vx_req_aux_get_render_devices
vx_req_aux_get_speaker_level
vx_req_aux_get_vad_properties
vx_req_aux_global_monitor_keyboard_mouse
vx_req_aux_notify_application_state_change
vx_req_aux_play_audio_buffer
vx_req_aux_reactivate_account
vx_req_aux_render_audio_modify
vx_req_aux_render_audio_start
vx_req_aux_render_audio_stop
vx_req_aux_reset_password
vx_req_aux_set_capture_device
vx_req_aux_set_derumbler_properties
vx_req_aux_set_idle_timeout
vx_req_aux_set_mic_level
vx_req_aux_set_render_device
vx_req_aux_set_speaker_level
vx_req_aux_set_vad_properties
vx_req_aux_start_buffer_capture
vx_req_base
vx_req_channel_ban_user
vx_req_channel_get_banned_users
vx_req_channel_kick_user
vx_req_channel_mute_all_users
vx_req_channel_mute_user
vx_req_channel_set_lock_mode
vx_req_connector_create
vx_req_connector_get_local_audio_info
vx_req_connector_initiate_shutdown
vx_req_connector_mute_local_mic
vx_req_connector_mute_local_speaker
vx_req_connector_set_local_mic_volume
vx_req_connector_set_local_speaker_volume
vx_req_session_archive_query
vx_req_session_channel_invite_user
vx_req_session_chat_history_query
vx_req_session_create
vx_req_session_delete_message
vx_req_session_edit_message
vx_req_session_media_connect
vx_req_session_media_disconnect
vx_req_session_mute_local_speaker
vx_req_session_send_dtmf
vx_req_session_send_message
vx_req_session_send_notification
vx_req_session_set_3d_position
vx_req_session_set_local_render_volume
vx_req_session_set_local_speaker_volume
vx_req_session_set_participant_mute_for_me
vx_req_session_set_participant_volume_for_me
vx_req_session_set_voice_font
vx_req_session_terminate
vx_req_session_text_connect
vx_req_session_text_disconnect
vx_req_session_transcription_control
vx_req_sessiongroup_add_session
vx_req_sessiongroup_control_audio_injection
vx_req_sessiongroup_create
vx_req_sessiongroup_get_stats
vx_req_sessiongroup_remove_session
vx_req_sessiongroup_reset_focus
vx_req_sessiongroup_set_focus
vx_req_sessiongroup_set_session_3d_position
vx_req_sessiongroup_set_tx_all_sessions
vx_req_sessiongroup_set_tx_no_session
vx_req_sessiongroup_set_tx_session
vx_req_sessiongroup_terminate
vx_req_sessiongroup_unset_focus
vx_resp_account_anonymous_login
vx_resp_account_archive_query
vx_resp_account_authtoken_login
vx_resp_account_buddy_delete
vx_resp_account_buddy_set
vx_resp_account_channel_add_acl
vx_resp_account_channel_change_owner
vx_resp_account_chat_history_get_last_read
vx_resp_account_channel_get_acl
vx_resp_account_channel_remove_acl
vx_resp_account_chat_history_query
vx_resp_account_control_communications
vx_resp_account_create_auto_accept_rule
vx_resp_account_create_block_rule
vx_resp_account_delete_auto_accept_rule
vx_resp_account_delete_block_rule
vx_resp_account_get_account
vx_resp_account_get_session_fonts
vx_resp_account_get_template_fonts
vx_resp_account_list_auto_accept_rules
vx_resp_account_list_block_rules
vx_resp_account_list_buddies_and_groups
vx_resp_account_login
vx_resp_account_logout
vx_resp_account_post_crash_dump
vx_resp_account_send_message
vx_resp_account_send_sms
vx_resp_account_send_subscription_reply
vx_resp_account_send_user_app_data
vx_resp_account_set_login_properties
vx_resp_account_set_presence
vx_resp_account_update_account
vx_resp_account_web_call
vx_resp_aux_capture_audio_start
vx_resp_aux_capture_audio_stop
vx_resp_aux_connectivity_info
vx_resp_aux_create_account
vx_resp_aux_deactivate_account
vx_resp_aux_diagnostic_state_dump
vx_resp_aux_get_capture_devices
vx_resp_aux_get_derumbler_properties
vx_resp_aux_get_mic_level
vx_resp_aux_get_render_devices
vx_resp_aux_get_speaker_level
vx_resp_aux_get_vad_properties
vx_resp_aux_global_monitor_keyboard_mouse
vx_resp_aux_notify_application_state_change
vx_resp_aux_play_audio_buffer
vx_resp_aux_reactivate_account
vx_resp_aux_render_audio_modify
vx_resp_aux_render_audio_start
vx_resp_aux_render_audio_stop
vx_resp_aux_reset_password
vx_resp_aux_set_capture_device
vx_resp_aux_set_derumbler_properties
vx_resp_aux_set_idle_timeout
vx_resp_aux_set_mic_level
vx_resp_aux_set_render_device
vx_resp_aux_set_speaker_level
vx_resp_aux_set_vad_properties
vx_resp_aux_start_buffer_capture
vx_resp_base
vx_resp_channel_ban_user
vx_resp_channel_get_banned_users
vx_resp_channel_kick_user
vx_resp_channel_mute_all_users
vx_resp_channel_mute_user
vx_resp_channel_set_lock_mode
vx_resp_connector_create
vx_resp_connector_get_local_audio_info
vx_resp_connector_initiate_shutdown
vx_resp_connector_mute_local_mic
vx_resp_connector_mute_local_speaker
vx_resp_connector_set_local_mic_volume
vx_resp_connector_set_local_speaker_volume
vx_resp_session_archive_query
vx_resp_session_channel_invite_user
vx_resp_session_chat_history_query
vx_resp_session_create
vx_resp_session_media_connect
vx_resp_session_media_disconnect
vx_resp_session_mute_local_speaker
vx_resp_session_send_dtmf
vx_resp_session_send_message
vx_resp_session_send_notification
vx_resp_session_set_3d_position
vx_resp_session_set_local_render_volume
vx_resp_session_set_local_speaker_volume
vx_resp_session_set_participant_mute_for_me
vx_resp_session_set_participant_volume_for_me
vx_resp_session_set_voice_font
vx_resp_session_terminate
vx_resp_session_text_connect
vx_resp_session_text_disconnect
vx_resp_session_transcription_control
vx_resp_sessiongroup_add_session
vx_resp_sessiongroup_control_audio_injection
vx_resp_sessiongroup_create
vx_resp_sessiongroup_get_stats
vx_resp_sessiongroup_remove_session
vx_resp_sessiongroup_reset_focus
vx_resp_sessiongroup_set_focus
vx_resp_sessiongroup_set_session_3d_position
vx_resp_sessiongroup_set_tx_all_sessions
vx_resp_sessiongroup_set_tx_no_session
vx_resp_sessiongroup_set_tx_session
vx_resp_sessiongroup_terminate
vx_resp_sessiongroup_unset_focus
vx_sdk_config
vx_stat_sample
vx_stat_thread
vx_state_account
vx_state_buddy
vx_state_buddy_contact
vx_state_buddy_group
vx_state_connector
vx_state_participant
vx_state_session
vx_state_sessiongroup
vx_system_stats
vx_tts_utterance
vx_tts_voice
vx_user_channel
vx_voice_font
vx_vxd
vxa_capture_device_stats_t
vxa_render_device_stats_t
Deprecated List
Third-party license information
Privacy overview
Google Play data safety section for Vivox
Apple privacy manifest
Vivox Core SDK documentation
Consoles
Reference the Vivox Core SDK API.
阅读时间1 分钟
最后更新于 12 天前