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 |
Helpful
Not helpful
Submitted! Your feedback would help us improve the website.
Feedback
Top