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.

Notes:

Generally, all event callbacks in the document are listened to through IThunderEventHandler.

Basic APIs

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

Room Management

APIDescription
setAreaSet user's country/region
setMediaModeSet a media mode
setRoomModeSet a room mode
joinRoomJoin a room
leaveRoomExit a room
updateTokenUpdate a token
CallbackDescription
onJoinRoomSuccessCallback of joining a room
onLeaveRoomCallback of exiting a room
onSdkAuthResultCallback SDK authentication results. See details in User Authentication
onUserBannedCallback of banning a user
onRoomStatsCallback of joining a room for reporting the upstream and downstream traffic (every two seconds)
onBizAuthResultCallback of reporting service authentication results
onTokenWillExpireCallback of a token about to expire
onTokenRequestCallback of a token expired

Audio Publishing

APIDescription
setAudioConfigSet audio parameters and application scenarios
adjustRecordingSignalVolumeSet microphone volume
stopLocalAudioStreamStop broadcasting/publishing audio (including capture activation, encoding and streams pushing)
enableLoopbackRecordingEnable/Disable graphic card capture
setAudioSourceTypeSet audio publishing type
CallbackDescription
onFirstLocalAudioFrameSentCallback of the first local audio frame sent
onLocalAudioStatsCallback of reporting statistics of the local audio streams
onLocalAudioStatusChangedCallback of local audio status changes

Audio Subscription

APIDescription
stopAllRemoteAudioStreamsStop/resume receiving all audio streaming data
stopRemoteAudioStreamStop/resume receiving audio streaming data of a specified user
adjustPlaybackSignalVolumeSet local playing volume
CallbackDescription
onRemoteAudioStoppedCallback of starting/stopping sending the audio streams of a remote user
onRemoteAudioStatsOfUidCallback of reporting statistics of the remote audio streams
onRemoteAudioPlayCallback of the first remote audio frame displayed
onRemoteAudioStateChangedOfUidCallback of remote audio status changes

Video Publishing

APIDescription
setVideoEncoderConfigSet video encoding parameters
enableLocalVideoCaptureEnable/disable the local video capture
setLocalVideoCanvasSet a local video renderer view
startVideoPreviewEnable video preview
stopVideoPreviewDisable video preview
setLocalCanvasScaleModeSet a local view scaling mode
setLocalVideoMirrorModeSet a local video mirroring mode
stopLocalVideoStreamStop/resume sending the local video stream (including encoding information)
getVideoEncoderParamGet video en parameters by encoding gear
CallbackDescription
onFirstLocalVideoFrameSentCallback of the first video frame sent
onLocalVideoStatsCallback of reporting the statistics of local video streams
onLocalVideoStatusChangedCallback of local video status changes

Video Subscription

APIDescription
stopAllRemoteVideoStreamsStop/receive all video stream data
stopRemoteVideoStreamStop/receive video stream data of a specified user
setRemoteCanvasScaleModeSet the scaling mode of a remote video view
setRemoteVideoCanvasSet the renderer view of remote video stream
CallbackDescription
onRemoteVideoStoppedCallback of a remote user stopping/resuming publishing the video stream
onRemoteVideoStatsOfUidCallback of reporting statistics of remote video streams
onRemoteVideoPlayCallback of the first displayed remote video frame
onVideoSizeChangedCallback of the resolution of local or remote video changes
onRemoteVideoStateChangedOfUidCallback of remote video status changes

Network Status

APIDescription
getConnectionStatusSearch for network connection status
CallbackDescription
onNetworkQualityCallback of reporting network quality of each user (every two seconds)
onNetworkTypeChangedCallback of network status changes
onConnectionStatusCallback of changes to connection status between the SDK and the server
onConnectionLostCallback of the SDK's failure to reconnect to the server 10 seconds after its connection to the server is interrupted

Publishing Test

N/A

Stream Pushing to CDN

APIDescription
setLiveTranscodingTaskAdd/update transcoding task
removeLiveTranscodingTaskDelete transcoding task
removePublishTranscodingStreamUrlRemove the transcoded stream from a specific address
addPublishTranscodingStreamUrlPublish the transcoded stream to a specific address
addPublishOriginStreamUrlPublish the source stream to a specific address
removePublishOriginStreamUrlRemove the source stream from a specific address
enableMixVideoExtraInfoEnable video mixing with SEI
CallbackDescription
onPublishStreamToCDNStatusCallback of changes to the status of stream pushing to CDN

Audio Recording

APIDescription
startAudioRecordingStart audio recording
stopAudioRecordingStop audio recording

Co-hosting Across Rooms

APIDescription
addSubscribeSubscribe to a specific user’s streams across rooms
removeSubscribeRemove a specific user’s streams subscribed to across 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 local video watermark
removeVideoWatermarksRemove local video watermark

Video Dual Stream

N/A

Audio Player

APIDescription
createThunderAudioPlayerCreate an audio file player objectIThunderAudioPlayer
destroyThunderAudioPlayerDestroy an audio file player objectIThunderAudioPlayer
APIDescription
openOpen an accompaniment file
closeClose an accompaniment file
playStart playing an audio file
StopStop playing an audio file
pausePause playing an audio file
resumeResume playing an audio file
seekPlay in a specified time
getTotalPlayTimeMSGet the total duration of an audio file
getCurrentPlayTimeMSGet the current playback duration of an audio file
setPlayerLocalVolumeSet the volume of an audio file for local playing
setPlayerPublishVolumeSet the volume of an audio file for remote playing
getPlayerLocalVolumeGet the volume of an audio file for local playing
getPlayerPublishVolumeGet the volume of an audio file for remote playing
setLoopingSet the number of audio playback loops
setSemitoneSet video playback volume
setTempoSet video playback speed
setPositionSet video playback direction
SetFilePlayerNotifyCallback of the audio file player configured
CallbackDescription
onAudioFileVolumeCallback of audio playing volume changes
onAudioFilePlayEndCallback of finishing playing
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 Prompts

APIDescription
setAudioVolumeIndicationEnable/disable speaker volume callback
enableCaptureVolumeIndicationEnable/disable capture volume callback
CallbackDescription
onPlayVolumeIndicationCallback of someone speaking
onCaptureVolumeIndicationCallback of enabling/disabling volume capture

Audio Router

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 methods are encapsulated in the IAudioDeviceManager class and get object pointers through the getAudioDeviceMgr.

APIDescription
getAudioDeviceMgrGet pointers of audio/video devices 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/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 of the capture status of the audio device changes
onInputVolumeCallback of test volume of the current audio input device
onOutputVolumeCallback of test volume of the current audio playback device
onAudioDeviceVolumeChangedCallback of the device volume changes

Video Device Management

Major methods are encapsulated in the IVideoDeviceManager class and get object pointers through the getVideoDeviceMgr.

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
enumMonitorDevicesEnumerate monitor input devices
getVideoDeviceCaptureGet the No.s of the preview video devices
CallbackDescription
onVideoCaptureStatusCallback of camera capture status changes
onVideoDeviceStateChangedCallback of video device changes

SEI (Supplemental Enhancement Information)

APIDescription
registerMediaExtraInfoObserverRegister the monitored object of SEI IThunderMediaExtraInfoObserver
sendMediaExtraInfoSend SEI
CallbackDescription
onSendMediaExtraInfoFailedStatusCallback of failure to send SEI
onRecvMediaExtraInfoCallback of SEI received
onRecvMixAudioInfoCallback of the mixed audio stream SEI received
onRecvMixVideoInfoCallback of the mixed video stream SEI received

Raw Audio Data

APIDescription
registerAudioFrameObserverRegister an 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
CallbackDescription
onRecordAudioFrameCallback of retrieving the captured audio data
onPlaybackAudioFrameCallback of retrieving the audio playback frame for getting the audio
onPlaybackAudioFrameBeforeMixingCallback of retrieving the audio data of a specific user before mixing (differentiated among users)

Raw Video Data

APIDescription
registerVideoFrameObserverRegister a video monitor object IVideoFrameObserver
registerVideoCaptureObserverRegister a monitoring object for camera data capture IVideoCaptureObserver.
CallbackDescription
onPreviewVideoFrameCallback of video preview data collected locally
onRenderVideoFrameCallback of rendering video data of other users
CallbackDescription
onCaptureVideoFrameCallback of video data collected locally

External Audio Data

APIDescription
setCustomAudioSourceSet external audio capture parameters
pushCustomAudioFramePush external audio frames

External Video Data

APIDescription
setCustomVideoSourceSet external video capture parameters
pushCustomVideoFramePush external video frames

Custom Audio Rendering

N/A

Custom Video Rendering

N/A

Custom Messages

APIDescription
sendUserAppMsgDataSend custom broadcast messages
CallbackDescription
onRecvUserAppMsgDataCallback of receiving custom broadcast messages
onSendAppMsgDataFailedStatusCallback of sending custom broadcast messages failed

Log Management

APIDescription
setLogFilePathSet the saving path of log files outputted by the SDK
setLogLevelSet the log saving level

Device Resource Monitoring

APIDescription
onDeviceStatsCPU/memory usage callback

Other APIs

APIDescription
enableWebSdkCompatibilityEnable/disable Web SDK 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