Jocloud provides reliable QoE (quality of experience) for real-time audio/video communications through a global real-time network.
Thunderbolt
SDKs refer to Jocloud audio and video SDKs, and Thunder
SDKs refer to Jocloud audio-only SDKs.
API | Description |
---|---|
createEngine | Create and initialize a ThunderEngine instance |
destroyEngine | Destroy the ThunderEngine instance |
setThunderEventDelegate | Set SDK callback event delegate |
getVersion | Get SDK version information |
API | Description |
---|---|
setArea | Set user's country/region |
setSceneId | Set a scenario ID |
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 |
onLeaveRoomWithStats | Callback of exiting a room |
sdkAuthResult | Callback of 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) |
bizAuthResult | Callback of reporting service authentication results |
onTokenWillExpire | Callback of a token about to expire |
thunderEngineTokenRequest | Callback of authentication expired |
API | Description |
---|---|
setAudioConfig | Set audio profiles |
setMicVolume | Set microphone volume |
stopLocalAudioStream | Disable/enable a local audio (including audio capture, encoding and upload) |
setAudioSourceType | Set a publishing mode |
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 the audio data of all users |
stopRemoteAudioStream | Stop/resume receiving audio stream of a specified user |
setPlayVolume | Set local playing volume of a user |
Callback | Description |
---|---|
onRemoteAudioStopped | Callback of starting/stopping sending the audio of a remote user |
onRemoteAudioStatsOfUid | Callback of remote audio stream information during the call |
onRemoteAudioPlay | Callback of the first remote audio frame displayed |
onRemoteAudioStateChangedOfUid | Callback of remote audio status changes |
API | Description |
---|---|
setVideoEncoderConfig | Set video encoding parameters |
setLocalVideoCanvas | Set a local video render view |
enableLocalVideoCapture | Enable/disable the local video capture |
startVideoPreview | Enable local video preview |
stopVideoPreview | Disable local video preview |
setLocalCanvasScaleMode | Set a local view display mode |
stopLocalVideoStream | Enable/disable local video sending |
getVideoEncoderParam | Get video encoding parameters by encoding gear |
Callback | Description |
---|---|
onFirstLocalVideoFrameSent | Callback of the first local video frame sent |
onLocalVideoStats | Callback of reporting the statistics of local video |
onLocalVideoStatusChanged | Callback of local video status changes |
API | Description |
---|---|
stopAllRemoteVideoStreams | Stop/receive all remote video streams |
stopRemoteVideoStream | Stop/receive video stream of a specified user |
setRemoteCanvasScaleMode | Set the scale mode of the remote video stream on the canvas |
setRemoteVideoCanvas | Set a remote video render view |
setRemotePlayType | Set the type of remote user's render view |
setMultiVideoViewLayout | Set the layout parameters of the multi videos on the view |
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 |
onVideoSizeChangedOfUid | Callback of the resolution of local or remote video changes |
onRemoteVideoStateChangedOfUid | Callback of remote video status changes |
API | Description |
---|---|
getConnectionStatus | Get the network connection status |
Callback | Description |
---|---|
onNetworkQuality | Callback of reporting the network quality of each user (every two seconds) |
onNetworkTypeChanged | Callback of network type changes |
onConnectionStatus | Callback of changes to connection status between the SDK and the server |
thunderEngineConnectionLost | 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 a transcoding task |
removeLiveTranscodingTask | Delete a transcoding task |
addPublishTranscodingStreamUrl | Publish a transcoded stream to a specific address |
removePublishTranscodingStreamUrl | Remove a transcoded stream from a specific address |
addPublishOriginStreamUrl | Publish a source stream to a specific address |
removePublishOriginStreamUrl | Remove a source stream from a specific address |
enableMixVideoExtraInfo | Enable video mixing with SEI |
Callback | Description |
---|---|
onPublishStreamToCDNStatusWithUrl | Callback of changes to the status of stream pushing to CDN |
API | Description |
---|---|
startAudioSaver | Start saving audio data in AAC format |
stopAudioSaver | Stop saving audio data in AAC format |
API | Description |
---|---|
addSubscribe | Subscribe to a specific user’s streams across rooms |
removeSubscribe | Remove a specific user’s streams subscribed to across rooms |
API | Description |
---|---|
switchFrontCamera | Switch front/rear cameras |
setVideoCaptureOrientation | Set portrait/landscape, default is portrait. Available for publishing before preview. |
setLocalVideoMirrorMode | Set camera mirroring. Available for publishing before preview, valid for front camera only |
isCameraManualFocusPositionSupported | Whether it supports manual focus |
isCameraManualExposurePositionSupported | Whether it supports manual exposure |
setCameraZoomFactor | Set the zoom scale |
setCameraFocusPosition | Set the focus position |
setCameraExposurePosition | Set the exposure position |
Callback | Description |
---|---|
onCameraFocusAreaChanged | Called when the focus area of cameras changes |
onCameraExposureAreaChanged | Called when the exposure area of cameras changes |
See Screen Sharing for method to implement the functions of screen sharing.
API | Description |
---|---|
setVideoWatermark | Add a local video watermark |
N/A
API | Description |
---|---|
createAudioFilePlayer | Create a file player object ThunderAudioFilePlayer |
destroyAudioFilePlayer | Destroy a file player object ThunderAudioFilePlayer |
API | Description |
---|---|
open | Open an audio file (supports mp3, aac, wav) |
close | Close an audio file |
play | Start playing an audio file |
stop | Stop playing an audio file |
pause | Pause playing an audio file |
resume | Continue to play |
seek | Skip to specified play time |
getTotalPlayTimeMS | Get the total play time of files |
getCurrentPlayTimeMS | Get the time which has been played |
setPlayerLocalVolume | Adjust volume of music file in mixed video being played locally. Please call this method in room |
setPlayerPublishVolume | Adjust volume of music file in mixed video being played remotely. Please call this method in room |
getPlayerLocalVolume | Get the local playing volume of the file |
getPlayerPublishVolume | Get the remote playing volume of the file |
setLooping | Set times of loop playbacks |
setPlayerDelegate | Set a player callback delegate |
enableSpectrum | Enable/disable spectrum |
enableVolumeIndication | Callback of turning on/off volume |
setMixStandard | Whether the accompaniment is the standard stream of stream mixing and transcoding |
isMixStandard | Search whether the accompaniment is the standard stream of stream mixing and transcoding |
getCurrentSpectrum | Get the spectrum information; value range [0-1] |
setTempo | Set video playback speed |
setPosition | Set video playback direction |
Callback | Description |
---|---|
onAudioFileVolume | Callback of audio playing volume changes |
onAudioFilePlayEnd | Callback of end playing |
onAudioFilePlayError | Callback of audio playing error occurring |
onAudioFilePlaying | Callback of starting playing audios |
onAudioFilePause | Callback of pausing |
onAudioFileResume | Callback of resuming |
onAudioFileStop | Callback of the user actively stopping playing |
onAudioFileSeekComplete | Callback of the audio file seeking completed |
onAudioFileStateChange | Callback of audio file playing status |
onAudioFileStateChange | Player status callback |
API | Description |
---|---|
setVoiceChanger | Set a voice change mode |
setSoundEffect | Set different sound effects |
setEnableReverb | Enable/disable reverb |
setReverbParam | Set reverb parameters |
setEnableEqualizer | Enable/disable an equalizer |
setEqGains | Set equalizer parameters |
setEnableCompressor | Enable/disable a compressor |
setCompressorParam | Set compressor parameters |
setEnableLimiter | Enable/disable a pressure limiter |
setLimiterParam | Set the pressure limiter parameters |
API | Description |
---|---|
enableVoicePosition | Enable/disable stereo panning for remote users |
setRemoteUidVoicePosition | Set the sound position and volume for remote users |
API | Description |
---|---|
enableCaptureVolumeIndication | Enable/disable capture volume callback |
setAudioVolumeIndication | Enable/disable speaker volume callback |
Callback | Description |
---|---|
onCaptureVolumeIndication | Callback of enabling/disabling volume capture |
onPlayVolumeIndication | Callback of someone speaking |
API | Description |
---|---|
enableLoudspeaker | Search whether it is played by a loudspeaker |
isLoudspeakerEnabled | Search whether the loudspeaker is enabled |
setLoudSpeakerVolume | Set the loudspeaker volume |
Callback | Description |
:--- | :--- |
onAudioRouteChanged | Called when audio routing changes |
API | Description |
---|---|
enableHowlingDetector | Enable/Disable howling detection |
Callback | Description |
---|---|
onHowlingDetectResult | Called for reporting howling detection results |
API | Description |
---|---|
enableEchoDetector | Enable/disable echo detection |
Callback | Description |
---|---|
onEchoDetectResult | Callback of echo detection results |
API | Description |
---|---|
setEnableInEarMonitor | Enable/disable in-ear monitoring |
Callback | Description |
---|---|
onAudioCaptureStatus | Callback of reporting the status of the audio capture device |
Callback | Description |
---|---|
onVideoCaptureStatus | Callback of reporting the status of the video capture device |
API | Description |
---|---|
setMediaExtraInfoDelegate | Listen to the SEI callback ThunderMediaExtraInfoDelegate |
sendMediaExtraInfo | Send SEI (during audio/video streaming) |
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 |
---|---|
enableAudioPlaySpectrum | Enable/disable the audio spectrum data callback |
setAudioPlaySpectrumInfo | Set the audio playback spectrum parameters |
enableCapturePcmDataCallBack | Enable/disable data callback on audio capture |
syncMediaPlayingProgress | Synchronize play progress of external accompaniment video for mixed video synchronization. Audio accompaniment and video accompaniment cannot be supported at the same time. |
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 |
setMixedAudioFrameParameters | Set the audio data mixed with the captured data and the playback data |
Callback | Description |
---|---|
onAudioPlaySpectrumData | Callback of audio play spectrum data |
Callback | Description |
---|---|
onRecordAudioFrame | Callback of retrieving the captured audio data |
onPlaybackAudioFrame | Callback of retrieving the audio playback frame for getting the audio data |
onPlaybackAudioFrameBeforeMixing | Callback of retrieving the audio data of a specific user before mixing |
onMixedAudioFrame | Callback of audio data mixed with the captured data and the playback data |
API | Description |
---|---|
registerVideoCaptureFrameObserver | Set the interface for callback on local video preprocessing |
registerVideoDecodeFrameObserver | Customize decoding picture rendering |
Callback | Description |
---|---|
needThunderVideoCaptureFrameDataType | Declare to SDK data in which format is to be used |
onVideoCaptureFrame | Receive a frame of data from capture for processing and return processed data |
onVideoCaptureFrame | Return original texture parameters and target texture parameters |
Callback | Description |
---|---|
onVideoDecodeFrame | Custom rendering of a decoded image is to cut out the decoded image of SDK for custom rendering of services |
API | Description |
---|---|
enableCustomAudioSource | Enable external audio capture |
pushCustomAudioRawData | Push external audio stream |
pushCustomAudioSampleBuffer | Pushing an external audio frame |
disableCustomAudioSource | Disable external audio capture |
Callback | Description |
---|---|
audioCaptureStart | Audio capture starts |
audioCaptureData | Callback on audio capture data |
audioCaptureStop | Audio capture stops |
audioRenderStart | Audio rendering starts |
audioRenderData | Callback on audio rendering data |
audioRenderStop | Audio rendering stops |
API | Description |
---|---|
setCustomVideoSource | Set external video capture source |
Callback | Description |
---|---|
onInitialize | Initialize the video source |
bufferType | Get the buffer type |
onStart | Start the video source |
onStop | Stop the video source |
onDispose | Release the video source |
Callback | Description |
---|---|
consumePixelBuffer | Interface for pushing raw video data |
consumeRawData | Interface for pushing raw video data |
consumeCMSampleBuffer | Interface for pushing raw video data |
API | Description |
---|---|
enableRenderPcmDataCallBack | Enable/disable callback of audio rendering data |
Callback | Description |
---|---|
onAudioRenderPcmData | Callback of audio rendering data |
API | Description |
---|---|
registerVideoDecodeFrameObserver | Set the decoding data callback for video stream of a certain user ID |
Callback | Description |
---|---|
onVideoDecodeFrame | Receive the decoded frame data from decoder |
API | Description |
---|---|
sendUserAppMsgData | Send custom broadcast messages |
Callback | Description |
---|---|
onRecvUserAppMsgData | Callback of receiving custom broadcast messages |
onSendAppMsgDataFailedStatus | Callback of failure to send custom broadcast messages |
API | Description |
---|---|
setLogFilePath | Set the saving path of log files outputted by the SDK. A directory with write permissions must be specified. |
setLogLevel | Set the log saving level |
setLogCallback | Set the log callback. Once log callback is set, setLogFilePath is invalid |
Callback | Description |
---|---|
onThunderRtcLogWithLevel | Callback of log information reporting |
Callback | Description |
---|---|
onDeviceStats | CPU/memory usage callback |
API | Description |
---|---|
enableWebSdkCompatibility | Enable/disable Web SDK compatibility |