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:
Generally, all event callbacks in the document are listened to through ThunderEventHandler.
API | Description |
---|---|
createEngine | Create and initialize a ThunderEngine instance |
createWithLoop | Create and initialize a ThunderEngine instance, and specify running threads of callbacks in the ThunderEventHandler class |
destroyEngine | Destroy the ThunderEngine instance |
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 the token |
Callback | Description |
---|---|
onJoinRoomSuccess | Called when a user joins a room |
onLeaveRoom | Called when a user exits a room |
onSdkAuthResult | 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 |
onBizAuthResult | Called for reporting service authentication results |
onTokenWillExpire | Called when a token is about to expire |
onTokenRequested | Called when a token expires |
API | Description |
---|---|
setAudioConfig | Set an audio mode |
setAudioSourceType | Set the audio publishing mode |
setMicVolume | Set the microphone volume |
stopLocalAudioStream | Publish audio (including capture activation, encoding and streams pushing) |
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 audio stream of a specific user |
setRemoteAudioStreamsVolume | Set the local playing volume for a remote user |
Callback | Description |
---|---|
onRemoteAudioStopped | Called when starting/stopping sending the audio streams of a remote user |
onRemoteAudioStatsOfUid | Called for reporting statistics of the remote audio streams |
onRemoteAudioPlay | Called when the first frame playback of remote video is sent |
onRemoteAudioStateChangedOfUid | Called when the video stream of remote users changes |
API | Description |
---|---|
setVideoEncoderConfig | Set video encoding parameters |
setLocalVideoCanvas | Set the local video renderer view |
enableLocalVideoCapture | Enable/Disable local video capture |
startVideoPreview | Enable local video preview |
stopVideoPreview | Disable local video preview |
setLocalCanvasScaleMode | Set the local view scaling mode |
setLocalVideoMirrorMode | Set the local video mirroring mode |
stopLocalVideoStream | Stop/Resume sending the local video stream (including encoding information) |
Callback | Description |
---|---|
onFirstLocalVideoFrameSent | Called when the first local video frame is sent |
onLocalVideoStats | Called for reporting the statistics of local video stream |
getVideoEncoderParam | Called for getting video coding parameters by coding gear |
API | Description |
---|---|
stopAllRemoteVideoStreams | Stop/Receive the video data of all users |
stopRemoteVideoStream | Stop/Receive video data of a specific user |
setRemoteCanvasScaleMode | Set the scaling mode of a remote video view |
setMultiVideoViewLayout | Set layout parameters about renderer view of multi-person co-hosting |
setRemoteVideoCanvas | Set the remote video renderer view |
setRemotePlayType | Set the renderer view type of a remote user |
Callback | Description |
---|---|
onRemoteVideoStopped | Called when a remote user stops/resumes publishing the video stream |
onRemoteVideoStatsOfUid | Called when the remote video status changes |
onRemoteVideoPlay | Called when the first remote video frame is displayed |
onVideoSizeChanged | Called when the resolution of a subscribed video changes |
onRemoteVideoStateChangedOfUid | Called when the remote video status changes |
API | Description |
---|---|
getConnectionStatus | Called every two seconds for reporting the network quality of each user |
Callback | Description |
---|---|
onNetworkQuality | Report the uplink and downlink 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 |
onConnectionLost | Called when the SDK cannot reconnect to the server 10 seconds after its connection to the server is interrupted |
API | Description |
---|---|
setLiveTranscodingTask | Add/Update transcoding task |
removeLiveTranscodingTask | Delete 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 |
---|---|
onPublishStreamToCDNStatus | 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 | SSubscribe 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 camera |
setVideoCaptureOrientation | Set camera publishing orientation (landscape/portrait) |
See Screen Sharing for method to implement the functions of screen sharing.
API | Description |
---|---|
setVideoWatermark | Set the watermark of local video |
N/A
API | Description |
---|---|
createAudioFilePlayer | Create an audio player file instance ThunderAudioFilePlayer |
destroyAudioFilePlayer | Destroy an audio player file instance ThunderAudioFilePlayer |
API | Description |
---|---|
open | Open an accompaniment file |
close | Close an accompaniment 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 | Play in a specified time |
getTotalPlayTimeMS | Get the the duration of an audio file |
getCurrentPlayTimeMS | Get the current playing time of an audio file |
setPlayVolume | Set current file’s output volume |
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 |
getAudioTrackCount | Get the number of audio tracks |
selectAudioTrack | Select a audio track |
setSemitone | Set the audio playing tone |
setLooping | Set the number of audio playback loops |
enablePublish | Use the currently played audio file as accompaniment for live streaming |
setPlayerNotify | Set the playing callback ThunderAudioFilePlayer.IThunderAudioFilePlayerCallback |
enableVolumeIndication | Enable the callback of file playing volume ThunderAudioFilePlayer.IThunderAudioFilePlayerCallback.onAudioFileVolume |
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 |
Callback | Description |
---|---|
onAudioFilePlayError | Called when the audio playing error occurs |
onAudioFileVolume | Called when audio playing volume changes |
onAudioFileSeekComplete | Called when fast forwarding to the appointed time |
onAudioFilePlaying | Called when starting playing audios |
onAudioFilePause | Called when pause playing audios |
onAudioFileResume | Called when resume playing audios |
onAudioFileStop | Called when stop playing audios |
onAudioFilePlayEnd | Called when end playing audios |
Callback | Description |
---|---|
onAudioFileVolume | Playback volume callback |
onAudioFileStateChange | Player status callback |
API | Description |
---|---|
setVoiceChanger | Set the voice change mode |
setSoundEffect | Set the sound effect mode |
setEnableEqualizer | Enable/Disable the local voice equalizer |
setEqGains | Set voice equalizer parameters |
setEnableReverb | Enable/Disable local voice reverberation |
setReverbExParameter | Set local voice reverberation parameters |
setEnableCompressor | Enable/Disable the audio compressor |
setCompressorParam | Set audio compressor parameters |
setEnableLimiter | Enable/Disable limiter |
setLimiterParam | Set limiter 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 |
---|---|
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 |
---|---|
enableCaptureVolumeIndication | Enable/Disable the callback onCaptureVolumeIndication to report the capture volume of the microphone |
setAudioVolumeIndication | Enable/Disable the callback onPlayVolumeIndication 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 to report the speaker name and speaking volume |
API | Description |
---|---|
isLoudspeakerEnabled | Search whether it is played by a loudspeaker |
enableLoudspeaker | Enable a loudspeaker |
setLoudSpeakerVolume | Set loudspeaker volume |
Callback | Description |
---|---|
onAudioRouteChanged | Called when audio routing changes |
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 |
API | Description |
---|---|
setMediaExtraInfoCallback | Listen to the SEI callback IThunderMediaExtraInfoCallback |
sendMediaExtraInfo | Send SEI |
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 onAudioPlaySpectrumData |
setAudioPlaySpectrumInfo | Set the information for audio spectrum data callback |
enableCapturePcmDataCallBack | Enable/Disable captured audio data callback onAudioCapturePcmData |
setRecordingAudioFrameParameters | Set the format for raw data capture callback |
setPlaybackAudioFrameParameters | Set format for playing data callback |
registerAudioFrameObserver | Register an audio observer object IAudioFrameObserver |
setMixedAudioFrameParameters | Set the format of audio data mixed with the captured data and the playback data |
Callback | Description |
---|---|
onAudioPlaySpectrumData | Called for reporting the audio playback spectrum data |
Callback | Description |
---|---|
onRecordAudioFrame | Called for retrieving the captured audio data |
onPlaybackAudioFrame | Called for retrieving the audio playback frame for getting the audio of all users |
onPlaybackAudioFrameBeforeMixing | Called for retrieving the raw audio data of a specific user before mixing |
onMixedAudioFrame | Callback of audio data mixed with the captured data and the playback data |
API | Description |
---|---|
registerVideoCaptureTextureObserver | Register a video texture capture observe object IGPUProcess |
registerVideoCaptureFrameObserver | Registering a video capture frame observer IVideoCaptureObserver |
registerVideoDecodeFrameObserver | Register a video capture observer object IVideoCaptureObserver |
Callback | Description |
---|---|
onInit | Called when users use the third-party effects to reporting the effect information |
onDestroy | Called when destroying effects resources |
onDraw | Called when rendering each frame |
onOutputSizeChanged | Called when the texture size updates |
Callback | Description |
---|---|
onCaptureVideoFrame | Called for getting the original YUV video data captured by cameras |
Callback | Description |
---|---|
onVideoDecodeFrame | Called for reporting the decoded YUV (I420) video data |
API | Description |
---|---|
setCustomAudioSource | Set external audio capture parameters |
pushCustomAudioFrame | Push external audio frames |
API | Description |
---|---|
setCustomVideoSource | Set custom video sources |
Callback | Description |
---|---|
onInitialize | Initialize the video source |
onStart | Start the video source |
onStop | Stop the video source |
onDispose | Release the video source |
Callback | Description |
---|---|
consumeByteArrayFrame | Called for pushing external raw video data |
consumeTextureFrame | Push video frames in texture |
API | Description |
---|---|
sendUserAppMsgData | Send developer's 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 the log saving level |
setLogCallback | Set log callback IThunderLogCallback |
Callback | Description |
---|---|
onThunderLogWithLevel | Called for reporting log informatio |
API | Description |
---|---|
onDeviceStats | CPU/memory usage callback |
API | Description |
---|---|
enableWebSdkCompatibility | Enable/Disable web SDK compatibility |