概述

聚联云提供各种客户端SDK,具有可以灵活搭配的API组合,通过SDK连接全球部署的实时通信网络,为开发者提供质量稳定可靠的实时音视频通信服务。

聚联云SDK的代号为Thunderbolt,移动端特有的纯音频SDK代号为Thunder

基础方法

方法功能
createEngine创建 ThunderEngine 实例并初始化
destroyEngine销毁 ThunderEngine 实例
setThunderEventDelegate设置SDK回调事件的 delegate
getVersion获取SDK版本号

房间管理

方法功能
setArea设置用户国家区域
setSceneId设置场景Id
setMediaMode设置媒体模式
setRoomMode设置房间模式
joinRoom进入房间
leaveRoom离开房间
updateToken更新Token
回调功能
onJoinRoomSuccess进入房间回调
onLeaveRoomWithStats离开房间回调
sdkAuthResultSDK鉴权结果通知 关于鉴权详见官网的"用户鉴权说明"
onUserBanned用户被封禁回调
onRoomStats上下行流量回调 (周期性回调,每2秒回调一次)
bizAuthResult业务鉴权结果回调
onTokenWillExpireToken 即将过期回调
thunderEngineTokenRequest鉴权过期回调

音频开播

方法功能
setAudioConfig设置音频属性
setMicVolume设置麦克风音量
stopLocalAudioStream关闭/打开本地音频(包括音频的采集编码与上行)
setAudioSourceType设置开播模式
回调功能
onFirstLocalAudioFrameSent已发送本地音频首帧的回调
onLocalAudioStats本地音频统计信息
onLocalAudioStatusChanged本地音频状态改变回调

音频订阅

方法功能
stopAllRemoteAudioStreams停止/接收所有音频数据,默认是NO
stopRemoteAudioStream停止/接收指定音频数据
setPlayVolume设置某个用户在本地的播放音量
回调功能
onRemoteAudioStopped远端用户音频流停止/开启回调
onRemoteAudioStatsOfUid通话中远端音频流信息回调
onRemoteAudioPlay远端音频首帧播放回调
onRemoteAudioStateChangedOfUid远端音频状态改变回调

视频开播

方法功能
setVideoEncoderConfig设置视频编码配置
setLocalVideoCanvas设置本地视频的渲染视图
enableLocalVideoCapture打开/关闭本地视频采集
startVideoPreview开启本机摄像头视频预览
stopVideoPreview停止本机摄像头视频预览
setLocalCanvasScaleMode设置本地视图显示模式
stopLocalVideoStream打开/关闭本地视频发送
getVideoEncoderParam获取视频编码参数
回调功能
onFirstLocalVideoFrameSent已发送本地视频首帧的回调
onLocalVideoStats本地视频统计信息回调
onLocalVideoStatusChanged本地视频状态改变回调

视频订阅

方法功能
stopAllRemoteVideoStreams停止/接收所有远端视频
stopRemoteVideoStream停止/接收指定的远端视频
setRemoteCanvasScaleMode设置远端视图显示模式
setRemoteVideoCanvas设置远端视频的渲染视图
setRemotePlayType设置远端视图显示模式
setMultiVideoViewLayout设置多人连麦布局
回调功能
onRemoteVideoStopped远端用户视频流开启/停止回调
onRemoteVideoStatsOfUid通话中远端视频流信息回调
onRemoteVideoPlay已显示远端视频首帧回调
onVideoSizeChangedOfUid本地或远端视频大小和旋转信息发生改变回调
onRemoteVideoStateChangedOfUid远端视频状态改变回调

网络状态

方法功能
getConnectionStatus获取网络连接状态
回调功能
onNetworkQuality网路上下行质量报告回调
onNetworkTypeChanged网络类型变化时回调
onConnectionStatusSDK与服务器的网络连接状态回调
thunderEngineConnectionLost服务器网络连接中断通告,SDK 在调用 joinRoom 后无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调

开播检测

N/A

旁路直播

方法功能
setLiveTranscodingTask添加/更新转码任务 【同一房间最大支持5个转码任务】
removeLiveTranscodingTask删除转码任务
removePublishTranscodingStreamUrl删除转码流的推流地址
addPublishTranscodingStreamUrl添加转码流的推流地址 【同一转码任务最多支持5个推流地址】
addPublishOriginStreamUrl添加源流推流地址 【最多支持5个推流地址】
removePublishOriginStreamUrl删除源流推流地址,该方法每次只能删除一路推流地址。若需删除多路流,则需多次调用该方法
enableMixVideoExtraInfo开启混画带媒体次要信息,例如:混画视频中带布局信息
回调功能
onPublishStreamToCDNStatusWithUrlCDN推流结果回调

音频录制

方法功能
startAudioSaver开始将音频数据保存成aac格式的文件
stopAudioSaver停止将音频数据保存成aac格式的文件

跨房间连麦

方法功能
addSubscribe跨房间订阅指定用户的流
removeSubscribe取消跨房间指定用户的订阅

摄像头管理

方法功能
switchFrontCamera切到前/后置摄像头
setVideoCaptureOrientation设置横竖屏,默认竖屏,预览前、开播中都可用
setLocalVideoMirrorMode设置摄像头镜像;预览前,开播中都可用,只对前置摄像头生效

屏幕分享

屏幕分享功能,通过使用系统原生方法和SDK提供的自采集接口setCustomVideoSource来实现,详细实现方法,可参考进阶功能:屏幕分享实现

实时水印

方法功能
setVideoWatermark添加本地视频水印

视频双流

N/A

音频播放器

方法功能
createAudioFilePlayer创建文件播放 ThunderAudioFilePlayer 对象
destroyAudioFilePlayer销毁文件播放 ThunderAudioFilePlayer 对象
方法功能
open打开音频文件,支持格式:mp3、aac、wav
close关闭音频文件
play开始播放
stop停止播放
pause暂停播放
resume继续播放
seek跳转到指定的播放时间
getTotalPlayTimeMS获取文件的总播放时长
getCurrentPlayTimeMS获取当前已经播放的时长
setPlayerLocalVolume调节混音里音乐文件在本端播放的音量大小。请在频道内调用该方法
setPlayerPublishVolume调节混音里音乐文件在远端播放的音量大小。请在频道内调用该方法
getPlayerLocalVolume获取音乐文件在本地播放的音量大小
getPlayerPublishVolume获取音乐文件在远端播放的音量大小
setLooping设置循环播放次数
setPlayerDelegate设置音频文件播放事件回调
enableSpectrum开/关频谱
enableVolumeIndication开/关音量回调
setMixStandard设置伴奏是否为混画基准流
isMixStandard查询伴奏是否为混画基准流
getCurrentSpectrum获取频谱信息;数值范围[0-1]
setTempo设置音频播放速率
setPosition设置音频播放方位
回调功能
onAudioFileVolume播放音量回调
onAudioFilePlayEnd音频文件播放结束
onAudioFilePlayError音频文件播放错误回调
onAudioFilePlaying开始播放的回调
onAudioFilePause暂停播放的回调
onAudioFileResume恢复播放的回调
onAudioFileStop用户主动停止播放的回调
onAudioFileSeekComplete完成快进到指定时刻的回调
onAudioFilePlayEnd音频文件播放结束的回调
onAudioFileStateChange播放器状态变化通知

混响变声

方法功能
setVoiceChanger设置变声模式
setSoundEffect设置不同音效模式
setEnableReverb开启关闭混响
setReverbParam设置混响参数
setEnableEqualizer开启关闭均衡器
setEqGains设置均衡器参数
setEnableCompressor开启关闭压缩器
setCompressorParam设置压缩器参数
setEnableLimiter开启关闭压限效果器
setLimiterParam设置压限效果器参数

听声辩位

方法功能
enableVoicePosition开启/关闭远端用户的语音立体声,请确保在调用 joinRoom 方法前调用该方法
setRemoteUidVoicePosition设置远端用户声音的空间位置和音量

音量提示

方法功能
enableCaptureVolumeIndication开/关麦克风音量回调
setAudioVolumeIndication打开用户音量回调
回调功能
onCaptureVolumeIndication采集声音音量回调
onPlayVolumeIndication说话声音音量回调

语音路由

方法功能
enableLoudspeaker设置是否外放
isLoudspeakerEnabled是否是扬声器状态
setLoudSpeakerVolume设置扬声器音量

实时返听

方法功能
setEnableInEarMonitor开启耳返

音频设备管理

回调功能
onAudioCaptureStatus音频设备采集状态回调

视频设备管理

回调功能
onVideoCaptureStatus摄像头采集状态回调

次要媒体信息

方法功能
setMediaExtraInfoDelegate设置媒体次要信息的回调监听 ThunderMediaExtraInfoDelegate
sendMediaExtraInfo发送媒体次要信息(在音视频开播的情况下)
回调功能
onSendMediaExtraInfoFailedStatus发送媒体次要信息失败状态回调
onRecvMediaExtraInfo接收媒体次要信息
onRecvMixAudioInfo接收到混音流的次要信息
onRecvMixVideoInfo接收到混画流的次要信息

音频原始数据

方法功能
setAudioPlaySpectrumInfo设置音频播放频谱参数
enableAudioPlaySpectrum开/关音频播放频谱数据回调
setRecordingAudioFrameParameters设置onRecordAudioFrame回调中 音频录制原始数据使用模式
setPlaybackAudioFrameParameters设置onPlaybackAudioFrame回调中 音频播放的原始数据使用模式
registerAudioFrameObserver注册音频观测器对象 IAudioFrameObserver
回调功能
onAudioPlaySpectrumData音频播放频谱数据回调
回调功能
onRecordAudioFrame音频采集原始数据回调
onPlaybackAudioFrame音频播放原始数据回调
onPlaybackAudioFrameBeforeMixing音频远端用户解码后原始数据回调

视频原始数据

方法功能
registerVideoCaptureFrameObserver设置本地视频预处理回调接口
registerVideoDecodeFrameObserver针对某个uid的视频流,设置解码数据回调
回调功能
needThunderVideoCaptureFrameDataType向SDK申明使用哪种格式的数据
onVideoCaptureFrame从采集接受一帧数据处理并返回处理后数据
onVideoCaptureFrame返回原始纹理参数和目标纹理参数
回调功能
onVideoDecodeFrame从解码器接受解码后的帧数据

音频自采集

方法功能
enableCustomAudioSource开启外部音频采集
pushCustomAudioRawData推送外部音频流
pushCustomAudioSampleBuffer推送外部音频帧
disableCustomAudioSource关闭外部音频采集
回调功能
audioCaptureStart音频采集开始
audioCaptureData音频采集数据回调
audioCaptureStop音频采集结束
audioRenderStart音频渲染开始
audioRenderData音频渲染数据回调
audioRenderStop音频渲染结束

视频自采集

方法功能
setCustomVideoSource设置外部视频采集源
回调功能
onInitialize初始化视频源
bufferType获取 Buffer 类型
onStart启动视频源
onStop停止视频源
onDispose释放视频源
回调功能
consumePixelBuffer推送视频原始数据的接口
consumeRawData推送视频原始数据的接口
consumeCMSampleBuffer推送视频原始数据的接口

自定义消息

方法功能
sendUserAppMsgData发送业务自定义广播消息
回调功能
onRecvUserAppMsgData业务自定义广播消息回调
onSendAppMsgDataFailedStatus业务发自定义广播消息发送失败回调

日志管理

方法功能
setLogFilePath设置SDK输出log文件的目录。必须指定一个有写入权限的目录。
setLogLevel设置日志保存等级
setLogCallback设置日志回调,设置了日志回调,则setLogFilePath无效
回调功能
onThunderRtcLogWithLevel日志信息的回调

设备资源监测

回调功能
onDeviceStatsCPU/内存使用信息回调

其他方法

方法功能
enableWebSdkCompatibility打开/关闭WebSDK兼容
<