Overview

Jocloud provides reliable QoE (quality of experience) for real-time audio/video communications through a global real-time network.

Thunderbolt SDKs refers to Jocloud audio and video SDKs, and Thunder SDKs refers to Jocloud audio-only SDKs.

Note:

Unless otherwise stated, event callbacks in this document are monitored through the IThunderEventHandler interface.

Basic APIs

APIDescription
createEngineCreate the IThunderEngine instance
initializeInitialize the IThunderEngine object
destroyEngineDestroy the IThunderEngine object

Room Management

APIDescription
setAreaSet user’s area
setMediaModeSet media mode
setRoomModeSet room mode
joinRoomJoin a room
leaveRoomLeave a room
updateTokenUpdate Token
CallbackDescription
onJoinRoomSuccessCallback when the local user joins a room
onLeaveRoomCallback after the local user leaves a room
onSdkAuthResultCallback on SDK authentication result. For authentication details, refer to “User Authentication Description” on official website.
onUserBannedCallback when a user is banned
onRoomStatsCallback on uplink/downlink traffic (periodic callback at an interval of 2s)
onBizAuthResultCallback on service authentication results
onTokenWillExpireCallback on token to be expired
onTokenRequestCallback when token expires

Audio Publishing

APIDescription
setAudioConfigSets audio parameters and application scenarios.
adjustRecordingSignalVolumeSet microphone volume
stopLocalAudioStreamStop broadcasting/Publishing audio (including starting collection, encoding, and stream publishing)
enableLoopbackRecordingEnable/Disable graphic card capture.
setAudioSourceTypeSet audio publishing type
CallbackDescription
onFirstLocalAudioFrameSentCallback on first local audio frame sent successfully
onLocalAudioStatsReporting audio streaming sending statistics in every 2s
onLocalAudioStatusChangedCallback of local video status change

Audio Subscription

APIDescription
stopAllRemoteAudioStreamsStop/Receive all audio streaming data
stopRemoteAudioStreamStop/Receive audio streaming data of a specified user
adjustPlaybackSignalVolumeSet local playing volume
CallbackDescription
onRemoteAudioStoppedCallback when a remote user stops broadcasting/publishing audio streams
onRemoteAudioStatsOfUidReporting remote audio streams statistics by user in every 2s
onRemoteAudioPlayCallback about first frame playback of remote video
onRemoteAudioStateChangedOfUidCallback about video stream change of remote users

Video Publishing

APIDescription
setVideoEncoderConfigSet video encoding configuration
enableLocalVideoCaptureEnable/Disable local video capture
setLocalVideoCanvasSet the rendering canvas of a local video
startVideoPreviewEnable video preview
stopVideoPreviewDisable video preview
setLocalCanvasScaleModeSet a scaling mode of a local canvas
setLocalVideoMirrorModeSet local video mirror mode
stopLocalVideoStreamStop/Start the sending of a local video streaming (codes included)
getVideoEncoderParamGet video coding parameters by coding gear
CallbackDescription
onFirstLocalVideoFrameSentCallback when the first video frame is successfully sent
onLocalVideoStatsCallback every 2s, reporting video streaming sending statistics
onLocalVideoStatusChangedCallback of local video status change

Video Subscription

APIDescription
stopAllRemoteVideoStreamsStop/Receive all video stream data
stopRemoteVideoStreamStop/Receive video stream data of a specified user
setRemoteCanvasScaleModeSet a scaling mode of a remote canvas
setRemoteVideoCanvasSet the rendering view of remote video stream.
CallbackDescription
onRemoteVideoStoppedCallback on stopping/publishing user’s video stream
onRemoteVideoStatsOfUidReporting remote video streams statistics by user in every 2s
onRemoteVideoPlayCallback on displayed first remote video frame
onVideoSizeChangedCallback on change in local/remote video resolution
onRemoteVideoStateChangedOfUidCallback about status change of remote videos

Network Status

APIDescription
getConnectionStatusGet network connection status
CallbackDescription
onNetworkQualityReporting the network statistics in every 2s
onNetworkTypeChangedCallback on network status change
onConnectionStatusCallback on server network connection status change
onConnectionLostCallback on lost network connection with a server

Publishing Detection

N/A

Stream Pushing to CDN

APIDescription
setLiveTranscodingTaskAdd/update transcoding task
removeLiveTranscodingTaskRemove a transcoding task
removePublishTranscodingStreamUrlRemove a stream publishing address of a transcoding stream
addPublishTranscodingStreamUrlAdd a stream publishing address of a transcoding stream
addPublishOriginStreamUrlAdd the source stream publishing address
removePublishOriginStreamUrlRemove the source stream publishing address
enableMixVideoExtraInfoEnable video mixing with media extra information
CallbackDescription
onPublishStreamToCDNStatusReporting CDN stream publishing result

Audio Recording

APIDescription
startAudioRecordingStart audio recording
stopAudioRecordingStop audio recording

Co-hosting Acorss Rooms

APIDescription
addSubscribeSubscribe a stream of the specified user in other rooms
removeSubscribeUnSubscribe a stream stream of the specified user in other rooms

Camera Management

N/A

Screen Sharing

APIDescription
startScreenCaptureForHwndStart screen capturing specific window
startScreenCaptureForScreenStart screen capturing a specific region on desktop
updateScreenCaptureRectUpdate the region of screen capturing
stopScreenCaptureStop screen capturing the desktop or window
pauseScreenCapturePause screen capturing the desktop or window
resumeScreenCaptureResume screen capturing the desktop or window
setCaptureExcludeWindowListSet the window list to be removed when capturing the screen

Real-time Watermark

APIDescription
setVideoWatermarkSet video watermark
removeVideoWatermarksRemove video watermark

Video Dual Stream

N/A

Audio Player

APIDescription
createThunderAudioPlayerCreate audio file player objectIThunderAudioPlayer
destroyThunderAudioPlayerDestroy the audio file player objectIThunderAudioPlayer
APIDescription
openOpen an file for accompaniment
closeClose an file for accompaniment
playStart playing the file
StopStop playing the file
pausePause playing the file
resumeResume playing the file
seekSeek time for playing the file
getTotalPlayTimeMSObtain the total duration of the audio file
getCurrentPlayTimeMSObtain the current playback duration of the audio file
setPlayerLocalVolumeSet the local playing volume of the audio file
setPlayerPublishVolumeSet the remote playing volume of the audio file
getPlayerLocalVolumeObtain the local playing volume of the audio file
getPlayerPublishVolumeGet the remote playing volume of the audio file
setLoopingSet a looping count
setSemitoneSet video playback volume
setTempoSet video playback speed
setPositionSet video playback direction
SetFilePlayerNotifyCallback when the audio file player is configured
CallbackDescription
onAudioFileVolumeReporting the playing progress
onAudioFilePlayEndReporting the playing-end status
onAudioFileStateChangePlayer status callback

Voice Change & Reverb

APIDescription
enableVoiceReverbEnable/Disable local voice reverberation
setReverbParameterSet local voice reverberation parameters
enableLimiterEnable/Disable limiter
setLimiterParameterSet limiter parameters
enableEqualizerEnable/Disable the local voice equalizer
setEqualizerParameterSet voice equalizer parameters
setVoicePitchSet the voice pitch of the speaker

Voice Positioning

APIDescription
enableVoicePositionEnable/Disable stereo panning for remote users
setRemoteUidVoicePositionSet spatial location and volume of remote user's voice

Volume Prompt

APIDescription
setAudioVolumeIndicationEnable/Disable speaker volume callback
enableCaptureVolumeIndicationCallback of openning local audio volume
CallbackDescription
onPlayVolumeIndicationReporting the speakers' volume
onCaptureVolumeIndicationCallback of speaker volume

Voice Routing

N/A

In-ear Monitoring

N/A

Howling Detection

APIDescription
EnableHowlingDetectorEnable/Disable howling detection
CallbackDescription
onHowlingDetectResultCalled for reporting detection results

Echo Detection

APIDescription
enableEchoDetectorEnable/disable echo detection
CallbackDescription
onEchoDetectResultCallback of echo detection result

Audio Device Management

Major APIs are encapsulated in the IAudioDeviceManager interface class and obtain object pointers through the getAudioDeviceMgr interface.

APIDescription
getAudioDeviceMgrGet pointers of audio/video device management objects
APIDescription
enumInputDevicesEnumerate audio input devices
setInputtingDeviceSet audio input devices for capturing
getInputtingDeviceGet the currently selected audio input device
setInputtingVolumeSet the volume of the current audio input device
getInputtingVolumeGet the volume of the current audio input device
setInputtingMuteMute or unmute the current audio input device
getInputtingMuteGet the mute status of the current audio input device
startInputDeviceTestStart testing the current audio input device
stopInputDeviceTestStop testing the current audio input device
enumOutputDevicesEnumerate audio playback devices
setOutputtingDeviceSpecify the audio playback device
getOutputtingDeviceGet the current audio playback device
setOuttingVolumeSet the volume of the current playback device
getOuttingVolumeGet the volume of the current playback device
setOutputtingMuteMute/Unmute the current playback device
getOutputtingMuteGet the mute status of the current playback device
startOutputDeviceTestStart testing the current audio playback device
stopOutputDeviceTestStop testing the current audio playback device
enableMicEnhancementEnable/Disable microphone enhancement
enableMicDenoiseEnable/Disable microphone noise reduction
enableAECEnable/Disable AEC
enableAGCEnable/Disable Automatic Gain Control (AGC)
CallbackDescription
onAudioCaptureStatusCallback on changes in audio device capture status
onInputVolumeCallback on test volume of the current audio input device
onOutputVolumeCallback on test volume of the current audio playback device
onAudioDeviceVolumeChangedDevice volume change callba1

Video Device Management

Major APIs are encapsulated in the IVideoDeviceManager interface class and obtain object pointers through the getVideoDeviceMgr interface.

APIDescription
getVideoDeviceMgrGet the pointer of the video device management object
APIDescription
enumVideoDevicesEnumerate video input devices
startVideoDeviceCaptureStart video device capturing
stopVideoDeviceCaptureStop video device capturing
startDeviceTestTest whether the video-capture device works properly
stopDeviceTestStop the video-capture device test
getVideoDeviceCaptureGet the No.s of the preview video devices
CallbackDescription
onVideoCaptureStatusReporting the camera capturing status
onVideoDeviceStateChangedVideo device change callback

SEI

APIDescription
registerMediaExtraInfoObserverRegister the monitored object of media extra information IThunderMediaExtraInfoObserver
sendMediaExtraInfoSend media extra information
CallbackDescription
onSendMediaExtraInfoFailedStatusCallback on failure in sending media extra information
onRecvMediaExtraInfoReceived media extra information
onRecvMixAudioInfoReceived extra information of mixed audio stream
onRecvMixVideoInfoReceived extra information of mixed video stream

Raw Audio Data

APIDescription
registerAudioFrameObserverRegister a observer IAudioFrameObserver
setRecordingAudioFrameParametersSet the mode for using raw audio recording data during callback onRecordAudioFrame
setPlaybackAudioFrameParametersSet the mode for using raw audio playback data during callback onPlaybackAudioFrame
  • the IAudioFrameObserver interface class reports the information of the Audio Raw Data information.
CallbackDescription
onRecordAudioFrameCallback on raw audio capture data
onPlaybackAudioFrameCallback on raw audio play data
onPlaybackAudioFrameBeforeMixingCallback on raw data after the audio remote data decoding (differentiated among users)

Raw Video Data

APIDescription
registerVideoFrameObserverRegister video monitor object IVideoFrameObserver
registerVideoCaptureObserverRegister monitoring object for camera data capture IVideoCaptureObserver.
  • the IVideoFrameObserver interface class reports the Video Raw Data (rendering & preview)information.
CallbackDescription
onPreviewVideoFrameOccurs when local video preview data is returned.
onRenderVideoFrameCallback on rendering video data of other users
CallbackDescription
onCaptureVideoFrameCallback on video data collected locally

External Audio Data

APIDescription
setCustomAudioSourceSet parameters of external audio capturing
pushCustomAudioFramePublishing an external audio frame

External Video Data

APIDescription
setCustomVideoSourceSet parameters for external video capturing
pushCustomVideoFramePublishing external video frame

External Audio Sink

N/A

External Video Sink

N/A

Custom Messages

APIDescription
sendUserAppMsgDataSend custom broadcasting message
CallbackDescription
onRecvUserAppMsgDataReporting custom broadcasting message
onSendAppMsgDataFailedStatusCallback on failure when sending broadcasting message

Log Management

APIAPI
setLogFilePathSet a directory for SDK to write the log files
setLogLevelSet the log levels

Device Resource Monitoring

APIAPI
onDeviceStatsCPU/memory usage callback

Other APIs

APIDescription
enableWebSdkCompatibilityEnable/Disable WebSDK compatibility
checkFeatureSupportWhether it supports a specific feature

Was this page helpful?

Helpful Not helpful
Submitted! Your feedback would help us improve the website.
Feedback
Top