ドキュメント

サポート

Vivox Core SDK

Vivox Core SDK

Initiate a channel join

How to initiate a channel join request in Vivox.
読み終わるまでの所要時間 1 分最終更新 2ヶ月前

The following code displays an example of how to initiate a channel join:
. . .vx_req_sessiongroup_add_session *req;vx_req_sessiongroup_add_session_create(&req);req->sessiongroup_handle = vx_strdup("sg1");req->session_handle = vx_strdup("mychannel");req->uri = vx_strdup("sip:confctl-g-issuer.mychannel@mt1s.vivox.com");req->account_handle = vx_strdup("sip:.issuer.playerName@mt1s.vivox.com");req->connect_audio = 1;req->connect_text = 1;req->access_token = vx_strdup(_the_access_token_generated_by_the_game_server);vx_issue_request3(&req->base, &request_count);. . .
The
vx_resp_sessiongroup_add_session
message does not indicate that the user has successfully joined the channel.
The game must process two types of event messages:
vx_evt_media_stream_updated
and
vx_evt_text_stream_updated
. The Vivox SDK posts these messages when there are changes in the connectivity to the audio or text portions of the session.
The following code displays an example of how to handle these events:
void HandleMediaStreamUpdatedEvent(vx_evt_media_stream_updated *evt){ if (evt->state == session_media_connected) { printf("Audio Connected to %s\n", evt->session_handle); } else if(evt->state == session_media_disconnected) { if (evt->status_code == 0) { printf("Audio Disconnected from %s\n", evt->session_handle); } else { printf("Audio Disconnected from %s, error %d:%s\n", evt->session_handle,evt->status_code, vx_get_error_string(evt->status_code)); } }}void HandleTextStreamUpdatedEvent(vx_evt_text_stream_updated *evt){ if (evt->state == session_text_connected) { printf("Text Connected to %s\n", evt->session_handle); } else if (evt->state == session_text_disconnected) { if (evt->status_code == 0) { printf("Text Disconnected from %s\n", evt->session_handle); } else { printf("Text Disconnected from %s, error %d:%s\n", evt->session_handle,evt->status_code, vx_get_error_string(evt->status_code)); } }}
These events might be generated in response to messages from the Vivox network (for example, when a user is forcibly removed from a channel by the game server).