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.
API | Description |
---|---|
createEngine | Create and initialize a ThunderEngine instance |
destroyEngine | Destroy a ThunderEngine instance |
setThunderEventDelegate | Set SDK callback event delegate |
getVersion | Get SDK version information |
API | Description |
---|---|
setArea | Set user's country/region |
setSceneId | Set scenario ID |
setMediaMode | Set a media mode |
setRoomMode | Set a room mode |
joinRoom | Join a room |
leaveRoom | Leave a room |
updateToken | Update a token |
Callback | Description |
---|---|
onJoinRoomSuccess | Caled when the local user joins a room |
onLeaveRoomWithStats | Called when exiting a room |
sdkAuthResult | Called for reporting SDK authentication results. See details in User Authentication |
onUserBanned | Called when banning a user |
onRoomStats | Called every two seconds after joining a room for reporting the upstream and downstream traffic |
bizAuthResult | Called for reporting service authentication results |
onTokenWillExpire | Called when a token is about to expire |
thunderEngineTokenRequest | Called when a token expires |
API | Description |
---|---|
setAudioConfig | Set the audio mode |
setMicVolume | Set the microphone volume |
stopLocalAudioStream | Publish audio (including capture activation, encoding and streams pushing) |
setAudioSourceType | Set the audio publishing mode |
Callback | Description |
---|---|
onFirstLocalAudioFrameSent | Called when the first local audio frame is sent |
onLocalAudioStats | Called for reporting statistics of the local audio streams |
onLocalAudioStatusChanged | Called when the local video status changes |
API | Description |
---|---|
stopAllRemoteAudioStreams | Stop/Resume receiving the audio data of all users |
stopRemoteAudioStream | Stop/Resume receiving the audio data of a specific user |
setPlayVolume | Set the local playing volume for a remote user |
Callback | Description |
---|---|
onRemoteAudioStopped | Called when stopping/starting sending the audio streams of a remote user |
onRemoteAudioStatsOfUid | Called for reporting statistics of the remote audio streams |
onRemoteAudioPlay | Called when the first remote video frame is sent |
onRemoteAudioStateChangedOfUid | Called when the video stream of a remote user change |
API | Description |
---|---|
setVideoEncoderConfig | Set video encoding parameters |
setLocalVideoCanvas | Set the local video renderer view |
enableLocalVideoCapture | Enable/Disable the local video capture |
startVideoPreview | Enable local video preview |
stopVideoPreview | Disable local video preview |
setLocalCanvasScaleMode | Set the local view scaling mode |
stopLocalVideoStream | Enable/Disable local video sending |
getVideoEncoderParam | Get video coding parameters by coding gear |
Callback | Description |
---|---|
onFirstLocalVideoFrameSent | Called when the first local video frame is sent |
onLocalVideoStats | Called for reporting the local video statistics |
onLocalVideoStatusChanged | Called when the local video status changes |
API | Description |
---|---|
stopAllRemoteVideoStreams | Stop/Resume receiving all remote video streams |
stopRemoteVideoStream | Stop/Resume receiving video stream of a specific user |
setRemoteCanvasScaleMode | Set the scaling mode of a remote video view |
setRemoteVideoCanvas | Set the rendering view of the remote video |
setRemotePlayType | Sets the type of remote user's render view |
setMultiVideoViewLayout | Set layout parameters about renderer view of multi-person co-hosting |
Callback | Description |
---|---|
onRemoteVideoStopped | Called when a remote user stops/resumes publishing the video stream |
onRemoteVideoStatsOfUid | Report statistics of remote user video stream |
onRemoteVideoPlay | Called when the first remote video frame is displayed |
onVideoSizeChangedOfUid | Called when the resolution of local or remote video changes |
onRemoteVideoStateChangedOfUid | Called when the remote video status changes |
API | Description |
---|---|
getConnectionStatus | Get network connection status |
Callback | Description |
---|---|
onNetworkQuality | Called every two seconds for reporting the network quality of each user |
onNetworkTypeChanged | Called when the network status changes |
onConnectionStatus | Called when the connection status between the SDK and the server changes |
thunderEngineConnectionLost | Called when the SDK cannot reconnect to the server 10 seconds after its connection to the server is interrupted |
N/A
API | Description |
---|---|
setLiveTranscodingTask | Add or update transcoding task |
removeLiveTranscodingTask | Remove a transcoding task |
addPublishTranscodingStreamUrl | Publish the transcoded stream to a specific address |
removePublishTranscodingStreamUrl | Remove the transcoded stream from 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 |
---|---|
onPublishStreamToCDNStatusWithUrl | Called when the status of stream pushing to CDN changes |
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 to front/rear cameras |
setVideoCaptureOrientation | Set camera publishing orientation (landscape/portrait) |
setLocalVideoMirrorMode | Set camera mirroring. Available for publishing before preview, valid for front camera only |
N/A
API | Description |
---|---|
setVideoWatermark | Set the local video watermark |
N/A
API | Description |
---|---|
createAudioFilePlayer | Create an audio player file instance ThunderAudioFilePlayer |
destroyAudioFilePlayer | Destroy an audio player file instance ThunderAudioFilePlayer |
API | Description |
---|---|
open | Open audio file, formats supported: mp3, aac, wav |
close | Close audio file |
play | Start playing a audio file |
Stop | Stop playing a audio file |
pause | Pause playing a audio file |
resume | Resume playing a audio file |
seek | Skipping to specified play time |
getTotalPlayTimeMS | Get the the duration of an audio file |
getCurrentPlayTimeMS | Get the current playing time 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 |
setPlayerDelegate | Set a player callback delegate |
enableSpectrum | Enable/Disable spectrum |
enableVolumeIndication | Enable the callback of file playing 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 spectrum information; value range: [0-1] |
setTempo | Set video playback speed |
setPosition | Set video playback direction |
Callback | Description |
---|---|
onAudioFileVolume | Called when playing volume |
onAudioFilePlayEnd | Called when playing ends |
onAudioFilePlayError | Called when the audio playing error occurs |
onAudioFilePlaying | Called when starting playing audios |
onAudioFilePause | Called when pauseing playback |
onAudioFileResume | Called when resuming playback |
onAudioFileStop | Called when stoping playback |
onAudioFileSeekComplete | Called when the audio file seeking is completed |
onAudioFileStateChange | Called when the playing status the audio file changes |
onAudioFileStateChange | Called when the player status changes |
API | Description |
---|---|
setVoiceChanger | Set voice change mode |
setSoundEffect | Set different sound effects |
setEnableReverb | Enable/Disable reverb |
setReverbParam | Set reverb parameters |
setEnableEqualizer | Enable/Disable equalizer |
setEqGains | Set equalizer parameters |
setEnableCompressor | Enable/Disable compressor |
setCompressorParam | Set compressor parameters |
setEnableLimiter | Enable/Disable pressure limiter |
setLimiterParam | Set pressure limiter parameters |
setVoicePitch | Set the voice pitch |
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 the callback of turning on/off microphone volume |
setAudioVolumeIndication | Enable/Disable the callback of turning on/off user volume to report which users are speaking and the speakers' volume |
Callback | Description |
---|---|
onCaptureVolumeIndication | Called when enabling/disabling volume capture |
onPlayVolumeIndication | Called when someone is speaking |
API | Description |
---|---|
enableLoudspeaker | Enable a loudspeaker |
isLoudspeakerEnabled | Check 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 | Called when the capture status of the audio device changes |
Callback | Description |
---|---|
onVideoCaptureStatus | Called when the camera capture status changes |
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 |
API | Description |
---|---|
setMediaExtraInfoDelegate | Set callback delegate of SEI ThunderMediaExtraInfoDelegate |
sendMediaExtraInfo | Send SEI (during audio/video streaming) |
Callback | Description |
---|---|
onSendMediaExtraInfoFailedStatus | Called when sending SEI failed |
onRecvMediaExtraInfo | Called when SEI is received |
onRecvMixAudioInfo | Called when the mixed audio stream SEI is received |
onRecvMixVideoInfo | Called when the mixed video stream SEI received |
API | Description |
---|---|
enableAudioPlaySpectrum | Enable/Disable the audio spectrum data callback |
setAudioPlaySpectrumInfo | Set the information for audio spectrum data callback |
enableCapturePcmDataCallBack | Enable/Disable captured audio data callback |
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 format for raw data capture callback |
setPlaybackAudioFrameParameters | Set format for playing data callback |
Callback | Description |
---|---|
onAudioPlaySpectrumData | Callback on audio play spectrum data |
Callback | Description |
---|---|
onRecordAudioFrame | Called for retrieving the captured audio data |
onPlaybackAudioFrame | Called for retrieving the audio playback frame for getting the audio |
onPlaybackAudioFrameBeforeMixing | Called for retrieving the audio data of a specific user before mixing |
API | Description |
---|---|
registerVideoCaptureFrameObserver | Register a video capture observer object |
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 streams |
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 video source |
bufferType | Obtain Buffer type |
onStart | Start video source |
onStop | Stop video source |
onDispose | Dispose 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 on audio rending data |
Callback | Description |
---|---|
onAudioRenderPcmData | Callback audio rendering data |
API | Description |
---|---|
registerVideoDecodeFrameObserver | Set decoding data callback for video stream of a certain vid |
Callback | Description |
---|---|
onVideoDecodeFrame | Receive decoded frame data from decoder |
API | Description |
---|---|
sendUserAppMsgData | Send custom broadcast messages |
Callback | Description |
---|---|
onRecvUserAppMsgData | Called for receiving custom broadcast messages |
onSendAppMsgDataFailedStatus | Called when sending custom broadcast messages failed |
API | Description |
---|---|
setLogFilePath | Set the saving path of log files outputed by the SDK |
setLogLevel | Set log levels |
setLogCallback | Set log callback. Once log callback is set, setLogFilePath is invalid |
Callback | Description |
---|---|
onThunderRtcLogWithLevel | Called for reporting log information |
Callback | Description |
---|---|
onDeviceStats | CPU/memory usage callback |
API | Description |
---|---|
enableWebSdkCompatibility | Enable/Disable web SDK compatibility |