joinMeeting

actual fun joinMeeting(externalMeetingId: String, meetingId: String, audioHostURL: String, audioFallbackURL: String, turnControlURL: String, signalingURL: String, ingestionURL: String, attendeeId: String, externalUserId: String, joinToken: String, realTimeListener: RealTimeEventListener, onActiveSpeakersChanged: (Set<String>) -> Unit, cameraFacing: CameraFacing, onLocalVideoTileAdded: (Int?) -> Unit?, onConnectionStatusChanged: (ConnectionStatus) -> Unit, onRemoteVideoAvailable: (isAvailable: Boolean, sourceCount: Int) -> Unit, onCameraSendAvailable: (available: Boolean) -> Unit, onSessionError: (message: String, isRecoverable: Boolean) -> Unit, onVideoNeedsRestart: () -> Unit, onLocalVideoTileRemoved: () -> Unit?, preferredAudioInputDeviceType: String?, onRemoteTileAdded: (Int) -> Unit?, onRemoteTileRemoved: (Int) -> Unit?, isJoiningOnMute: Boolean, onLocalAttendeeIdAvailable: (String) -> Unit)
expect fun joinMeeting(externalMeetingId: String, meetingId: String, audioHostURL: String, audioFallbackURL: String, turnControlURL: String, signalingURL: String, ingestionURL: String, attendeeId: String, externalUserId: String, joinToken: String, realTimeListener: RealTimeEventListener, onActiveSpeakersChanged: (Set<String>) -> Unit, cameraFacing: CameraFacing = CameraFacing.FRONT, onLocalVideoTileAdded: (Int?) -> Unit? = null, onConnectionStatusChanged: (ConnectionStatus) -> Unit = {}, onRemoteVideoAvailable: (isAvailable: Boolean, sourceCount: Int) -> Unit = { _, _ -> }, onCameraSendAvailable: (available: Boolean) -> Unit = {}, onSessionError: (message: String, isRecoverable: Boolean) -> Unit = { _, _ -> }, onVideoNeedsRestart: () -> Unit = {}, onLocalVideoTileRemoved: () -> Unit? = null, preferredAudioInputDeviceType: String? = null, onRemoteTileAdded: (Int) -> Unit? = null, onRemoteTileRemoved: (Int) -> Unit? = null, isJoiningOnMute: Boolean = false, onLocalAttendeeIdAvailable: (String) -> Unit = {})

Joins a Chime meeting and starts audio/video.

Parameters

externalMeetingId

Your app-defined meeting identifier.

meetingId

Chime meeting ID returned by CreateMeeting.

audioHostURL

Media server host for audio (UDP/SRTP).

audioFallbackURL

WebSocket fallback when UDP is blocked.

turnControlURL

TURN credential endpoint.

signalingURL

WebSocket signaling endpoint.

ingestionURL

Client event ingestion endpoint.

attendeeId

Chime attendee ID returned by CreateAttendee.

externalUserId

Your app-defined user identifier.

joinToken

Attendee join token returned by CreateAttendee.

realTimeListener

Callbacks for attendee presence, mute, and volume events.

onActiveSpeakersChanged

Invoked with the set of currently active speaker attendee IDs.

cameraFacing

Initial camera facing direction. Defaults to CameraFacing.FRONT.

onLocalVideoTileAdded

Invoked with the local video tile ID once the local tile is bound, or null if unavailable.

onConnectionStatusChanged

Invoked when the session connection status changes.

onRemoteVideoAvailable

Invoked when remote video availability or source count changes.

onCameraSendAvailable

Invoked when the ability to send local camera video changes.

onSessionError

Invoked on session errors; isRecoverable indicates whether the SDK will retry.

onVideoNeedsRestart

Invoked when the video session must be restarted by the caller.

onLocalVideoTileRemoved

Invoked when the local video tile is unbound.

preferredAudioInputDeviceType

Preferred audio input device type string. Pass null for the platform default.

onRemoteTileAdded

Invoked with a tile ID when a remote video tile is added.

onRemoteTileRemoved

Invoked with a tile ID when a remote video tile is removed.

isJoiningOnMute

Whether to join with the microphone muted. Defaults to false.

onLocalAttendeeIdAvailable

Invoked with the local attendee ID once the session is established.

actual fun joinMeeting(externalMeetingId: String, meetingId: String, audioHostURL: String, audioFallbackURL: String, turnControlURL: String, signalingURL: String, ingestionURL: String, attendeeId: String, externalUserId: String, joinToken: String, realTimeListener: <Error class: unknown class>, onActiveSpeakersChanged: (Set<String>) -> Unit, cameraFacing: <Error class: unknown class>, onLocalVideoTileAdded: (Int?) -> Unit?, onConnectionStatusChanged: (<Error class: unknown class>) -> Unit, onRemoteVideoAvailable: (isAvailable: Boolean, sourceCount: Int) -> Unit, onCameraSendAvailable: (available: Boolean) -> Unit, onSessionError: (message: String, isRecoverable: Boolean) -> Unit, onVideoNeedsRestart: () -> Unit, onLocalVideoTileRemoved: () -> Unit?, preferredAudioInputDeviceType: String?, onRemoteTileAdded: (Int) -> Unit?, onRemoteTileRemoved: (Int) -> Unit?, isJoiningOnMute: Boolean, onLocalAttendeeIdAvailable: (String) -> Unit)