Methods
All methods are called on the Meeting instance.
Join meeting with access key
fun join(
accessKey: String,
frontCamera: Boolean,
audioOnly: Boolean,
local: VideoSink?,
remote: VideoSink?,
eventListener: EyesonEventListener,
microphoneEnabledOnStart: Boolean = true,
videoEnabledOnStart: Boolean = true,
screenShareInfo: ScreenShareInfo? = null
)
Join meeting with guest token
fun joinAsGuest(
guestToken: String,
name: String,
id: String?,
avatar: String?,
frontCamera: Boolean,
audioOnly: Boolean,
local: VideoSink?,
remote: VideoSink?,
eventListener: EyesonEventListener,
microphoneEnabledOnStart: Boolean = true,
videoEnabledOnStart: Boolean = true,
screenShareInfo: ScreenShareInfo? = null
)
Starts/join a meeting using the permalink's user token
fun connectPermalink(
userToken: String,
frontCamera: Boolean,
audioOnly: Boolean,
local: VideoSink?,
remote: VideoSink?,
eventListener: EyesonEventListener,
microphoneEnabledOnStart: Boolean = true,
videoEnabledOnStart: Boolean = true,
screenShareInfo: ScreenShareInfo? = null,
)
Get permalink meeting info
Either the permalink's user token or guest token can be used
suspend fun getPermalinkMeetingInfo(token: String): PermalinkMeetingInfo?
Leave meeting
Leave the meeting. Doesn't end it for other participants
fun leave()
Get meeting info
fun getMeetingInfo(): MeetingInfo?
Get egl context
fun getEglContext(): EglBase.Context?
Start screen share
fun startScreenShare(
screenShareInfo: ScreenShareInfo,
asPresentation: Boolean
)
Stop screen share
Stop screen share and resume with local video muted/unmuted
fun stopScreenShare(resumeLocalVideo: Boolean)
Is screen share active
fun isScreenShareActive(): Boolean
Set video as presentation
Set current video (local or shared screen) as sole video
fun setVideoAsPresentation()
Stop presentation
Stop the current presentation, regardless who stated it
fun stopPresentation()
Set local video target
fun setLocalVideoTarget(target: VideoSink?)
Set remote video target
fun setRemoteVideoTarget(target: VideoSink?)
Set video enabled
Enable/Disable outgoing video
fun setVideoEnabled(enable: Boolean)
Is local video enabled
fun isVideoEnabled(): Boolean
Switch camera
fun switchCamera()
Is front camera
fun isFrontCamera(): Boolean?
Mute other participants
Send mute command to other participants
fun sendMuteOthers()
Set microphone enabled
fun setMicrophoneEnabled(enable: Boolean)
Is microphone enabled
fun isMicrophoneEnabled(): Boolean
Send chat message
Send chat message to all participants (including self)
fun sendChatMessage(message: String)
Send custom message
Send custom message to all participants (including self)
fun sendCustomMessage(content: String)
Start video playback
Plays webm (preferred) or mp4 in meeting. If replacedUser
is null the video will be played as an additional user. In order to stop the video you need to provide a (unique) playId
loopCount
can be used to set the number of repetitions. Set -1
for infinite looping. (Doesn't work with h264 video codec. Will only play once)
fun startVideoPlayback(
url: String,
name: String?,
playId: String?,
replacedUser: UserInfo?,
audio: Boolean,
loopCount: Int = 0
)
The feature loopCount
will NOT work if video codec is h264
!
You can check this for example with ffprobe
(see ffprobe documentation).
Stop video playback
fun stopVideoPlayback(playId: String)
Enabled logging
fun enabledLogging()
Disable logging
fun disableLogging()
Is widescreen
fun isWidescreen(): Boolean
Get user info
fun getUserInfo(): UserInfo?