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.
API | Description |
---|---|
createEngine | Create the IThunderEngine instance |
initialize | Initialize the IThunderEngine object |
destroyEngine | Destroy the IThunderEngine object |
API | Description |
---|---|
setArea | Set user’s area |
setMediaMode | Set media mode |
setRoomMode | Set room mode |
joinRoom | Join a room |
leaveRoom | Leave a room |
updateToken | Update Token |
Callback | Description |
---|---|
onJoinRoomSuccess | Callback when the local user joins a room |
onLeaveRoom | Callback after the local user leaves a room |
onSdkAuthResult | Callback on SDK authentication result. For authentication details, refer to “User Authentication Description” on official website. |
onUserBanned | Callback when a user is banned |
onRoomStats | Callback on uplink/downlink traffic (periodic callback at an interval of 2s) |
onBizAuthResult | Callback on service authentication results |
onTokenWillExpire | Callback on token to be expired |
onTokenRequest | Callback when token expires |
API | Description |
---|---|
setAudioConfig | Sets audio parameters and application scenarios. |
adjustRecordingSignalVolume | Set microphone volume |
stopLocalAudioStream | Stop broadcasting/Publishing audio (including starting collection, encoding, and stream publishing) |
enableLoopbackRecording | Enable/Disable graphic card capture. |
setAudioSourceType | Set audio publishing type |
Callback | Description |
---|---|
onFirstLocalAudioFrameSent | Callback on first local audio frame sent successfully |
onLocalAudioStats | Reporting audio streaming sending statistics in every 2s |
onLocalAudioStatusChanged | Callback of local video status change |
API | Description |
---|---|
stopAllRemoteAudioStreams | Stop/Receive all audio streaming data |
stopRemoteAudioStream | Stop/Receive audio streaming data of a specified user |
adjustPlaybackSignalVolume | Set local playing volume |
Callback | Description |
---|---|
onRemoteAudioStopped | Callback when a remote user stops broadcasting/publishing audio streams |
onRemoteAudioStatsOfUid | Reporting remote audio streams statistics by user in every 2s |
onRemoteAudioPlay | Callback about first frame playback of remote video |
onRemoteAudioStateChangedOfUid | Callback about video stream change of remote users |
API | Description |
---|---|
setVideoEncoderConfig | Set video encoding configuration |
enableLocalVideoCapture | Enable/Disable local video capture |
setLocalVideoCanvas | Set the rendering canvas of a local video |
startVideoPreview | Enable video preview |
stopVideoPreview | Disable video preview |
setLocalCanvasScaleMode | Set a scaling mode of a local canvas |
setLocalVideoMirrorMode | Set local video mirror mode |
stopLocalVideoStream | Stop/Start the sending of a local video streaming (codes included) |
getVideoEncoderParam | Get video coding parameters by coding gear |
Callback | Description |
---|---|
onFirstLocalVideoFrameSent | Callback when the first video frame is successfully sent |
onLocalVideoStats | Callback every 2s, reporting video streaming sending statistics |
onLocalVideoStatusChanged | Callback of local video status change |
API | Description |
---|---|
stopAllRemoteVideoStreams | Stop/Receive all video stream data |
stopRemoteVideoStream | Stop/Receive video stream data of a specified user |
setRemoteCanvasScaleMode | Set a scaling mode of a remote canvas |
setRemoteVideoCanvas | Set the rendering view of remote video stream. |
Callback | Description |
---|---|
onRemoteVideoStopped | Callback on stopping/publishing user’s video stream |
onRemoteVideoStatsOfUid | Reporting remote video streams statistics by user in every 2s |
onRemoteVideoPlay | Callback on displayed first remote video frame |
onVideoSizeChanged | Callback on change in local/remote video resolution |
onRemoteVideoStateChangedOfUid | Callback about status change of remote videos |
API | Description |
---|---|
getConnectionStatus | Get network connection status |
Callback | Description |
---|---|
onNetworkQuality | Reporting the network statistics in every 2s |
onNetworkTypeChanged | Callback on network status change |
onConnectionStatus | Callback on server network connection status change |
onConnectionLost | Callback on lost network connection with a server |
N/A
API | Description |
---|---|
setLiveTranscodingTask | Add/update transcoding task |
removeLiveTranscodingTask | Remove a transcoding task |
removePublishTranscodingStreamUrl | Remove a stream publishing address of a transcoding stream |
addPublishTranscodingStreamUrl | Add a stream publishing address of a transcoding stream |
addPublishOriginStreamUrl | Add the source stream publishing address |
removePublishOriginStreamUrl | Remove the source stream publishing address |
enableMixVideoExtraInfo | Enable video mixing with media extra information |
Callback | Description |
---|---|
onPublishStreamToCDNStatus | Reporting CDN stream publishing result |
API | Description |
---|---|
startAudioRecording | Start audio recording |
stopAudioRecording | Stop audio recording |
API | Description |
---|---|
addSubscribe | Subscribe a stream of the specified user in other rooms |
removeSubscribe | UnSubscribe a stream stream of the specified user in other rooms |
N/A
API | Description |
---|---|
startScreenCaptureForHwnd | Start screen capturing specific window |
startScreenCaptureForScreen | Start screen capturing a specific region on desktop |
updateScreenCaptureRect | Update the region of screen capturing |
stopScreenCapture | Stop screen capturing the desktop or window |
pauseScreenCapture | Pause screen capturing the desktop or window |
resumeScreenCapture | Resume screen capturing the desktop or window |
setCaptureExcludeWindowList | Set the window list to be removed when capturing the screen |
API | Description |
---|---|
setVideoWatermark | Set video watermark |
removeVideoWatermarks | Remove video watermark |
N/A
API | Description |
---|---|
createThunderAudioPlayer | Create audio file player objectIThunderAudioPlayer |
destroyThunderAudioPlayer | Destroy the audio file player objectIThunderAudioPlayer |
API | Description |
---|---|
open | Open an file for accompaniment |
close | Close an file for accompaniment |
play | Start playing the file |
Stop | Stop playing the file |
pause | Pause playing the file |
resume | Resume playing the file |
seek | Seek time for playing the file |
getTotalPlayTimeMS | Obtain the total duration of the audio file |
getCurrentPlayTimeMS | Obtain the current playback duration of the audio file |
setPlayerLocalVolume | Set the local playing volume of the audio file |
setPlayerPublishVolume | Set the remote playing volume of the audio file |
getPlayerLocalVolume | Obtain the local playing volume of the audio file |
getPlayerPublishVolume | Get the remote playing volume of the audio file |
setLooping | Set a looping count |
setSemitone | Set video playback volume |
setTempo | Set video playback speed |
setPosition | Set video playback direction |
SetFilePlayerNotify | Callback when the audio file player is configured |
Callback | Description |
---|---|
onAudioFileVolume | Reporting the playing progress |
onAudioFilePlayEnd | Reporting the playing-end status |
onAudioFileStateChange | Player status callback |
API | Description |
---|---|
enableVoiceReverb | Enable/Disable local voice reverberation |
setReverbParameter | Set local voice reverberation parameters |
enableLimiter | Enable/Disable limiter |
setLimiterParameter | Set limiter parameters |
enableEqualizer | Enable/Disable the local voice equalizer |
setEqualizerParameter | Set voice equalizer parameters |
setVoicePitch | Set the voice pitch of the speaker |
API | Description |
---|---|
enableVoicePosition | Enable/Disable stereo panning for remote users |
setRemoteUidVoicePosition | Set spatial location and volume of remote user's voice |
API | Description |
---|---|
setAudioVolumeIndication | Enable/Disable speaker volume callback |
enableCaptureVolumeIndication | Callback of openning local audio volume |
Callback | Description |
---|---|
onPlayVolumeIndication | Reporting the speakers' volume |
onCaptureVolumeIndication | Callback of speaker volume |
N/A
N/A
API | Description |
---|---|
EnableHowlingDetector | Enable/Disable howling detection |
Callback | Description |
---|---|
onHowlingDetectResult | Called for reporting detection results |
API | Description |
---|---|
enableEchoDetector | Enable/disable echo detection |
Callback | Description |
---|---|
onEchoDetectResult | Callback of echo detection result |
Major APIs are encapsulated in the IAudioDeviceManager interface class and obtain object pointers through the getAudioDeviceMgr interface.
API | Description |
---|---|
getAudioDeviceMgr | Get pointers of audio/video device management objects |
API | Description |
---|---|
enumInputDevices | Enumerate audio input devices |
setInputtingDevice | Set audio input devices for capturing |
getInputtingDevice | Get the currently selected audio input device |
setInputtingVolume | Set the volume of the current audio input device |
getInputtingVolume | Get the volume of the current audio input device |
setInputtingMute | Mute or unmute the current audio input device |
getInputtingMute | Get the mute status of the current audio input device |
startInputDeviceTest | Start testing the current audio input device |
stopInputDeviceTest | Stop testing the current audio input device |
enumOutputDevices | Enumerate audio playback devices |
setOutputtingDevice | Specify the audio playback device |
getOutputtingDevice | Get the current audio playback device |
setOuttingVolume | Set the volume of the current playback device |
getOuttingVolume | Get the volume of the current playback device |
setOutputtingMute | Mute/Unmute the current playback device |
getOutputtingMute | Get the mute status of the current playback device |
startOutputDeviceTest | Start testing the current audio playback device |
stopOutputDeviceTest | Stop testing the current audio playback device |
enableMicEnhancement | Enable/Disable microphone enhancement |
enableMicDenoise | Enable/Disable microphone noise reduction |
enableAEC | Enable/Disable AEC |
enableAGC | Enable/Disable Automatic Gain Control (AGC) |
Callback | Description |
---|---|
onAudioCaptureStatus | Callback on changes in audio device capture status |
onInputVolume | Callback on test volume of the current audio input device |
onOutputVolume | Callback on test volume of the current audio playback device |
onAudioDeviceVolumeChanged | Device volume change callba1 |
Major APIs are encapsulated in the IVideoDeviceManager interface class and obtain object pointers through the getVideoDeviceMgr interface.
API | Description |
---|---|
getVideoDeviceMgr | Get the pointer of the video device management object |
API | Description |
---|---|
enumVideoDevices | Enumerate video input devices |
startVideoDeviceCapture | Start video device capturing |
stopVideoDeviceCapture | Stop video device capturing |
startDeviceTest | Test whether the video-capture device works properly |
stopDeviceTest | Stop the video-capture device test |
getVideoDeviceCapture | Get the No.s of the preview video devices |
Callback | Description |
---|---|
onVideoCaptureStatus | Reporting the camera capturing status |
onVideoDeviceStateChanged | Video device change callback |
API | Description |
---|---|
registerMediaExtraInfoObserver | Register the monitored object of media extra information IThunderMediaExtraInfoObserver |
sendMediaExtraInfo | Send media extra information |
Callback | Description |
---|---|
onSendMediaExtraInfoFailedStatus | Callback on failure in sending media extra information |
onRecvMediaExtraInfo | Received media extra information |
onRecvMixAudioInfo | Received extra information of mixed audio stream |
onRecvMixVideoInfo | Received extra information of mixed video stream |
API | Description |
---|---|
registerAudioFrameObserver | Register a observer IAudioFrameObserver |
setRecordingAudioFrameParameters | Set the mode for using raw audio recording data during callback onRecordAudioFrame |
setPlaybackAudioFrameParameters | Set the mode for using raw audio playback data during callback onPlaybackAudioFrame |
Callback | Description |
---|---|
onRecordAudioFrame | Callback on raw audio capture data |
onPlaybackAudioFrame | Callback on raw audio play data |
onPlaybackAudioFrameBeforeMixing | Callback on raw data after the audio remote data decoding (differentiated among users) |
API | Description |
---|---|
registerVideoFrameObserver | Register video monitor object IVideoFrameObserver |
registerVideoCaptureObserver | Register monitoring object for camera data capture IVideoCaptureObserver. |
Callback | Description |
---|---|
onPreviewVideoFrame | Occurs when local video preview data is returned. |
onRenderVideoFrame | Callback on rendering video data of other users |
Callback | Description |
---|---|
onCaptureVideoFrame | Callback on video data collected locally |
API | Description |
---|---|
setCustomAudioSource | Set parameters of external audio capturing |
pushCustomAudioFrame | Publishing an external audio frame |
API | Description |
---|---|
setCustomVideoSource | Set parameters for external video capturing |
pushCustomVideoFrame | Publishing external video frame |
N/A
N/A
API | Description |
---|---|
sendUserAppMsgData | Send custom broadcasting message |
Callback | Description |
---|---|
onRecvUserAppMsgData | Reporting custom broadcasting message |
onSendAppMsgDataFailedStatus | Callback on failure when sending broadcasting message |
API | API |
---|---|
setLogFilePath | Set a directory for SDK to write the log files |
setLogLevel | Set the log levels |
API | API |
---|---|
onDeviceStats | CPU/memory usage callback |
API | Description |
---|---|
enableWebSdkCompatibility | Enable/Disable WebSDK compatibility |
checkFeatureSupport | Whether it supports a specific feature |