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.
API | Description |
---|---|
createEngine | Create the IThunderEngine instance |
initialize | Initialize the IThunderEngine object |
destroyEngine | Destroy the IThunderEngine object |
API | Description |
---|---|
setArea | Set user's country/region |
setMediaMode | Set a media mode |
setRoomMode | Set a room mode |
joinRoom | Join a room |
leaveRoom | Exit a room |
updateToken | Update a token |
Callback | Description |
---|---|
onJoinRoomSuccess | Callback of joining a room |
onLeaveRoom | Callback of exiting a room |
onSdkAuthResult | Callback SDK authentication results. See details in User Authentication |
onUserBanned | Callback of banning a user |
onRoomStats | Callback of joining a room for reporting the upstream and downstream traffic (every two seconds) |
onBizAuthResult | Callback of reporting service authentication results |
onTokenWillExpire | Callback of a token about to expire |
onTokenRequest | Callback of a token expired |
API | Description |
---|---|
setAudioConfig | Set audio parameters and application scenarios |
adjustRecordingSignalVolume | Set microphone volume |
stopLocalAudioStream | Stop broadcasting/publishing audio (including capture activation, encoding and streams pushing) |
enableLoopbackRecording | Enable/Disable graphic card capture |
setAudioSourceType | Set audio publishing type |
Callback | Description |
---|---|
onFirstLocalAudioFrameSent | Callback of the first local audio frame sent |
onLocalAudioStats | Callback of reporting statistics of the local audio streams |
onLocalAudioStatusChanged | Callback of local audio status changes |
API | Description |
---|---|
stopAllRemoteAudioStreams | Stop/resume receiving all audio streaming data |
stopRemoteAudioStream | Stop/resume receiving audio streaming data of a specified user |
adjustPlaybackSignalVolume | Set local playing volume |
Callback | Description |
---|---|
onRemoteAudioStopped | Callback of starting/stopping sending the audio streams of a remote user |
onRemoteAudioStatsOfUid | Callback of reporting statistics of the remote audio streams |
onRemoteAudioPlay | Callback of the first remote audio frame displayed |
onRemoteAudioStateChangedOfUid | Callback of remote audio status changes |
API | Description |
---|---|
setVideoEncoderConfig | Set video encoding parameters |
enableLocalVideoCapture | Enable/disable the local video capture |
setLocalVideoCanvas | Set a local video renderer view |
startVideoPreview | Enable video preview |
stopVideoPreview | Disable video preview |
setLocalCanvasScaleMode | Set a local view scaling mode |
setLocalVideoMirrorMode | Set a local video mirroring mode |
stopLocalVideoStream | Stop/resume sending the local video stream (including encoding information) |
getVideoEncoderParam | Get video en parameters by encoding gear |
Callback | Description |
---|---|
onFirstLocalVideoFrameSent | Callback of the first video frame sent |
onLocalVideoStats | Callback of reporting the statistics of local video streams |
onLocalVideoStatusChanged | Callback of local video status changes |
API | Description |
---|---|
stopAllRemoteVideoStreams | Stop/receive all video stream data |
stopRemoteVideoStream | Stop/receive video stream data of a specified user |
setRemoteCanvasScaleMode | Set the scaling mode of a remote video view |
setRemoteVideoCanvas | Set the renderer view of remote video stream |
Callback | Description |
---|---|
onRemoteVideoStopped | Callback of a remote user stopping/resuming publishing the video stream |
onRemoteVideoStatsOfUid | Callback of reporting statistics of remote video streams |
onRemoteVideoPlay | Callback of the first displayed remote video frame |
onVideoSizeChanged | Callback of the resolution of local or remote video changes |
onRemoteVideoStateChangedOfUid | Callback of remote video status changes |
API | Description |
---|---|
getConnectionStatus | Search for network connection status |
Callback | Description |
---|---|
onNetworkQuality | Callback of reporting network quality of each user (every two seconds) |
onNetworkTypeChanged | Callback of network status changes |
onConnectionStatus | Callback of changes to connection status between the SDK and the server |
onConnectionLost | Callback of the SDK's failure to reconnect to the server 10 seconds after its connection to the server is interrupted |
N/A
API | Description |
---|---|
setLiveTranscodingTask | Add/update transcoding task |
removeLiveTranscodingTask | Delete transcoding task |
removePublishTranscodingStreamUrl | Remove the transcoded stream from a specific address |
addPublishTranscodingStreamUrl | Publish the transcoded stream to a specific address |
addPublishOriginStreamUrl | Publish the source stream to a specific address |
removePublishOriginStreamUrl | Remove the source stream from a specific address |
enableMixVideoExtraInfo | Enable video mixing with SEI |
Callback | Description |
---|---|
onPublishStreamToCDNStatus | Callback of changes to the status of stream pushing to CDN |
API | Description |
---|---|
startAudioRecording | Start audio recording |
stopAudioRecording | Stop audio recording |
API | Description |
---|---|
addSubscribe | Subscribe to a specific user’s streams across rooms |
removeSubscribe | Remove a specific user’s streams subscribed to across 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 local video watermark |
removeVideoWatermarks | Remove local video watermark |
N/A
API | Description |
---|---|
createThunderAudioPlayer | Create an audio file player objectIThunderAudioPlayer |
destroyThunderAudioPlayer | Destroy an audio file player objectIThunderAudioPlayer |
API | Description |
---|---|
open | Open an accompaniment file |
close | Close an accompaniment file |
play | Start playing an audio file |
Stop | Stop playing an audio file |
pause | Pause playing an audio file |
resume | Resume playing an audio file |
seek | Play in a specified time |
getTotalPlayTimeMS | Get the total duration of an audio file |
getCurrentPlayTimeMS | Get the current playback duration of an audio file |
setPlayerLocalVolume | Set the volume of an audio file for local playing |
setPlayerPublishVolume | Set the volume of an audio file for remote playing |
getPlayerLocalVolume | Get the volume of an audio file for local playing |
getPlayerPublishVolume | Get the volume of an audio file for remote playing |
setLooping | Set the number of audio playback loops |
setSemitone | Set video playback volume |
setTempo | Set video playback speed |
setPosition | Set video playback direction |
SetFilePlayerNotify | Callback of the audio file player configured |
Callback | Description |
---|---|
onAudioFileVolume | Callback of audio playing volume changes |
onAudioFilePlayEnd | Callback of finishing playing |
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 | Enable/disable capture volume callback |
Callback | Description |
---|---|
onPlayVolumeIndication | Callback of someone speaking |
onCaptureVolumeIndication | Callback of enabling/disabling volume capture |
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 methods are encapsulated in the IAudioDeviceManager class and get object pointers through the getAudioDeviceMgr.
API | Description |
---|---|
getAudioDeviceMgr | Get pointers of audio/video devices 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/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 of the capture status of the audio device changes |
onInputVolume | Callback of test volume of the current audio input device |
onOutputVolume | Callback of test volume of the current audio playback device |
onAudioDeviceVolumeChanged | Callback of the device volume changes |
Major methods are encapsulated in the IVideoDeviceManager class and get object pointers through the getVideoDeviceMgr.
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 |
enumMonitorDevices | Enumerate monitor input devices |
getVideoDeviceCapture | Get the No.s of the preview video devices |
Callback | Description |
---|---|
onVideoCaptureStatus | Callback of camera capture status changes |
onVideoDeviceStateChanged | Callback of video device changes |
API | Description |
---|---|
registerMediaExtraInfoObserver | Register the monitored object of SEI IThunderMediaExtraInfoObserver |
sendMediaExtraInfo | Send SEI |
Callback | Description |
---|---|
onSendMediaExtraInfoFailedStatus | Callback of failure to send SEI |
onRecvMediaExtraInfo | Callback of SEI received |
onRecvMixAudioInfo | Callback of the mixed audio stream SEI received |
onRecvMixVideoInfo | Callback of the mixed video stream SEI received |
API | Description |
---|---|
registerAudioFrameObserver | Register an 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 of retrieving the captured audio data |
onPlaybackAudioFrame | Callback of retrieving the audio playback frame for getting the audio |
onPlaybackAudioFrameBeforeMixing | Callback of retrieving the audio data of a specific user before mixing (differentiated among users) |
API | Description |
---|---|
registerVideoFrameObserver | Register a video monitor object IVideoFrameObserver |
registerVideoCaptureObserver | Register a monitoring object for camera data capture IVideoCaptureObserver. |
Callback | Description |
---|---|
onPreviewVideoFrame | Callback of video preview data collected locally |
onRenderVideoFrame | Callback of rendering video data of other users |
Callback | Description |
---|---|
onCaptureVideoFrame | Callback of video data collected locally |
API | Description |
---|---|
setCustomAudioSource | Set external audio capture parameters |
pushCustomAudioFrame | Push external audio frames |
API | Description |
---|---|
setCustomVideoSource | Set external video capture parameters |
pushCustomVideoFrame | Push external video frames |
N/A
N/A
API | Description |
---|---|
sendUserAppMsgData | Send custom broadcast messages |
Callback | Description |
---|---|
onRecvUserAppMsgData | Callback of receiving custom broadcast messages |
onSendAppMsgDataFailedStatus | Callback of sending custom broadcast messages failed |
API | Description |
---|---|
setLogFilePath | Set the saving path of log files outputted by the SDK |
setLogLevel | Set the log saving level |
API | Description |
---|---|
onDeviceStats | CPU/memory usage callback |
API | Description |
---|---|
enableWebSdkCompatibility | Enable/disable Web SDK compatibility |
checkFeatureSupport | Whether it supports a specific feature |