视频通话
联系电话:(010) 6072 8829
技术QQ群:697918347
English
视频通话API
API概览

TTT Java API Reference for Android

三体云通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。

方法

TTTRtcEngine 是 TTT SDK 的入口类,提供所有可供 App 调用的方法。

根据方法实现的功能,我们把所有方法分为以下几类。

核心方法

方法 功能
create 初始化引擎
destroy 销毁 RtcEngine 实例
setTTTRtcEngineEventHandler 添加 TTTRtcEngineEventHandler 主回调事件
setChannelProfile 设置频道模式
setClientRole 设置直播场景的用户角色
joinChannel 加入频道
leaveChannel 离开频道
renewToken 更新 Token
getSdkVersion 获取SDK版本号

核心音频方法

方法 功能
muteLocalAudioStream 静音/取消静音
muteAllRemoteAudioStreams 是否静音所有远端音频
muteRemoteAudioStream 是否静音指定用户的音频
muteRemoteSpeaking 是否禁言指定远端用户
adjustAudioMixingSoloVolume 调节本地说话音量
enableAudioVolumeIndication 启用说话者音量提示
setPreferAudioCodec 设置音频编码选项
stopAudioPlayAndRecord 停止/恢复音频采集和播放

核心视频方法

方法 功能
enableVideo 启用视频模块
disableVideo 关闭视频模块
setVideoProfile 设置视频编码属性
setupLocalVideo 设置本地视频显示属性
setupRemoteVideo 设置远端视频显示属性
startPreview 开启视频预览
stopPreview 停止视频预览
enableLocalVideo 开关本地视频采集
muteRemoteVideoStream 接收/停止接收指定视频流
muteAllRemoteVideoStreams 接收/停止接收所有视频流
CreateRendererView 创建视频的渲染视图

音频播放路由

方法 功能
setDefaultAudioRouteToSpeakerphone 设置默认的音频播放路由
setEnableSpeakerphone 启用/关闭扬声器播放
isSpeakerphoneEnabled 查询扬声器启用状态

耳返设置

方法 功能
enableAudioEarBack 开启耳返功能
setAudioEarBackVolume 设置耳返音量,在打开耳返的情况下有效

音乐文件播放及混音设置

方法 功能
startAudioMixing 开始播放音乐文件
stopAudioMixing 停止播放音乐文件
pauseAudioMixing 暂停播放音乐文件
resumeAudioMixing 恢复播放音乐文件
adjustAudioMixingVolume 调节伴奏本地/远端的播放音量
adjustAudioMixingPlayoutVolume 调节伴奏本地播放音量
adjustAudioMixingPublishVolume 调节伴奏远端播放音量
getAudioMixingDuration 获取音乐文件播放时长
getAudioMixingCurrentPosition 获取音乐文件播放进度
setAudioMixingPosition 设置音乐文件的播放位置

音效文件播放管理

方法 功能
getAudioEffectManager 获取 IAudioEffectManager 类,以管理音效文件
getEffectsVolume 获取音效文件播放音量
setEffectsVolume 设置音效文件播放音量
setVolumeOfEffect 实时调整音效文件播放音量
playEffect 播放指定音效文件
stopEffect 停止播放指定音效文件
stopAllEffects 停止播放所有音效文件
pauseEffect 暂停音效文件播放
pauseAllEffects 暂停所有音效文件播放
resumeEffect 恢复播放指定音效文件
resumeAllEffects 恢复播放所有音效文件

网络相关测试

方法 功能
enableLastmileTest 启用网络测试
disableLastmileTest 关闭网络测试

音频自采集

方法 功能
setExternalAudioSource 配置外部音频源
pushExternalAudioFrame 推送外部音频帧

原始音频数据

方法 功能
enableAudioDataReport 启用/禁用本地或远端音频裸数据的回调上报,默认禁用
enableMixAudioDataReport 启用/禁用本地和远端音频混音后的裸数据上报,默认禁用
setRecordingAudioFrameParameters 设置本地音频裸数据的采样率,声道数和采样点数
setPlaybackAudioFrameParameters 设置远端音频裸数据的采样率,声道数和采样点数
setMixedAudioFrameParameters 设置本地和远端音频混音裸数据的采样率,声道数和采样点数

视频自采集(仅适用于 Push 模式)

方法 功能
setExternalVideoSource 配置外部视频源
pushExternalVideoFrame 推送外部视频帧
isTextureEncodeSupported 检查视频是否支持 Texture 编码

视频双流模式

方法 功能
enableDualStreamMode 开关视频双流模式
setRemoteVideoStream 设置订阅的视频流类型
setRemoteDefaultVideoStreamType 设置默认订阅的视频流类型

摄像头控制

方法 功能
switchCamera 切换前置/后置摄像头
setVideoMirrored 设置前置摄像头镜像
setBeautyFaceStatus 设置美颜效果
isCameraZoomSupported 检测设备是否支持摄像头缩放功能
isCameraTorchSupported 检测设备是否支持闪光灯常开
isCameraFocusSupported 检测设备是否支持手动对焦功能
isCameraExposurePositionSupported 检测设备是否支持手动曝光功能
isCameraAutoFocusFaceModeSupported 检测设备是否支持人脸对焦功能
setCameraZoomFactor 设置摄像头缩放比例
getCameraMaxZoomFactor 获取摄像头支持最大缩放比例
setCameraTorchOn 设置是否打开闪光灯

屏幕共享

方法 功能
tryRecordScreen 尝试获取屏幕录制权限
isScreenRecording 是否正在屏幕录制
startRecordScreen 开始录制屏幕用作视频源
startRecordScreenAndSave 开始录制屏幕并保存
stopScreenCapture 停止屏幕共享

CDN推流设置

方法 功能
configPublisher 配置旁路直播推流
setVideoCompositingLayout 设置画中画布局
setVideoMixerParams 设置CDN推流视频参数
setAudioMixerParams 设置CDN推流音频参数
setVideoMixerBackgroundImgUrl 设置混屏背景图片
updateRtmpUrl 更新房间的推流地址
addPublishStreamUrl 增加旁路推流地址
removePublishStreamUrl 删除旁路推流地址

跨房间连麦

方法 功能
subscribeOtherChannel 订阅其它房间主播视频
unSubscribeOtherChannel 取消订阅其它房间主播视频

KTV

方法 功能
CreateIjkRendererView 创建ktv的mv显示控件。
startIjkPlayer 开启ktv视频播放
stopIjkPlayer 停止ktv视频播放

本地音频录音

方法 功能
startAudioRecording 开始客户端录音
stopAudioRecording 停止客户端录音

其他方法

方法 功能
enableCrossRoom 启用同房间多主播
setLogFile 设置日志文件路径
setLogFilter 设置日志文件过滤器
setSignalTimeout 设置信令超时时间
enableUplinkAccelerate 启用上行加速
kickChannelUser 踢出房间
getConnectionState 获取网络连接状态
getCameraFace 获取当前摄像头的ID
sendAudioLyric 发送伴奏歌曲的歌词信息

回调

TTTRtcEngineEventHandler 接口类

核心事件回调

回调 事件
onError 发生错误
onJoinChannelSuccess 加入频道成功
onLeaveChannel 成功离开频道
onClientRoleChanged 用户角色切换
onUserKicked 用户被请出房间
onUserJoined 用户加入
onUserOffline 用户离线
onConnectionLost 网络连接丢失回调
onReconnectServerFailed 重连服务器失败
onReconnectServerSucceed 重连服务器成功
onTokenPrivilegeWillExpire channelKey即将过期
onSetSEI 设置SEI

媒体事件回调

回调 事件
onAudioVolumeIndication 用户音量回调
onFirstAudioFrameDecoded 远端首次音频数据接收
onCameraReady 摄像头启用
onVideoStopped 视频功能已停止
onFirstLocalVideoFrame 本地首帧视频显示
onFirstRemoteVideoDecoded 已完成远端视频首帧解码
onFirstRemoteVideoFrame 已完成远端视频首帧绘制
onSpeakingMuted 禁止/允许用户发言回调
onUserMuteAudio 远端用户音频已静音/取消静音
onUserEnableVideo 远端用户启用/关闭视频功能
onAudioRouteChanged 音频输出路由发生变化
onLocalVideoFrameCaptured 本地视频采集
onRemoteVideoFrameDecodedOfUid 远端视频接收解码

数据统计事件回调

回调 事件
onLocalVideoStats 本地视频统计
onLocalAudioStats 本地音频统计
onRemoteAudioStats 远端音频统计
onRemoteVideoStats 远端视频统计
onRtcStats RtcEngine统计数据
onLocalAudioDataReport 本地录制音频裸数据
onRemoteAudioDataReport 远端播放音频裸数据
onMixedAudioFrame 本地录制和播放音频混音后的裸数据

音频音效播放事件回调

回调 事件
onAudioMixingPlayFinish 伴奏播放完成
onAudioEffectFinished 本地音效文件播放已结束

其他回调


回调 事件
onLastmileQuality 网络质量检测回调
onDualSteamModeEnabled 远端用户是否启用双流的回调
onRtcPushStatus 直播推流是否成功
onAudioRecordFinish 本地音频录音完成通知
onConnectionChangedToState 网络连接状态发生改变
onReceiveAudioLyric 接收歌词信息

 

 

 

 

 

 

 

API方法

Public 成员函数

abstract int  setTTTRtcEngineEventHandler( TTTRtcEngineEventHandler mTTTRtcEngineEventHandler)
abstract int  setChannelProfile(int profile)
abstract int  setClientRole(int role)
abstract int  joinChannel(String token, String channelName, String channelName, long optionalUid)
abstract int  joinChannel(String token, String channelName, String channelName, long optionalUid, boolean enableChat, boolean enableSignal)
abstract int  leaveChannel()
abstract int  renewToken(String token)
abstract int  getSdkVersion()
abstract int  muteLocalAudioStream(boolean muted)
abstract int  muteAllRemoteAudioStreams(boolean muted)
abstract int  muteRemoteAudioStream(long uid, boolean muted)
abstract int  muteRemoteSpeaking(long uid, boolean isDisable)
abstract int  adjustAudioMixingSoloVolume(int volume)
abstract int  enableAudioDataReport(boolean isLocalEable, boolean isRemoteEnable)
abstract int  enableAudioVolumeIndication(int interval, int smooth)
abstract int  setPreferAudioCodec(int codecType, int bitrate, int channels)
abstract int  setHighQualityAudioParameters(boolean enable)
abstract int  enableVideo()
abstract int  disableVideo()
abstract int  setVideoProfile(int profile, boolean swapWidthAndHeight)
abstract int  setVideoProfile(int width, int height, int frameRate, int bitrate)
abstract int  setupLocalVideo( VideoCanvas local, int activityOrientation)
abstract int  setupRemoteVideo( VideoCanvas remote)
abstract int  startPreview()
abstract int  stopPreview()
abstract int  enableLocalVideo(boolean enabled)
abstract int  muteRemoteVideoStream(long uid, boolean muted)
abstract int  muteRemoteVideoStream(long uid, String devId, boolean muted)
abstract int  muteAllRemoteVideoStreams(boolean muted)
abstract Surfaceview  CreateRendererView (Context context)
abstract int  setDefaultAudioRouteToSpeakerphone(boolean defaultToSpeaker)
abstract int  setEnableSpeakerphone(boolean enabled)
abstract int  isSpeakerphoneEnabled()
abstract int  enableAudioEarBack(boolean enableEarsBack)
abstract int  startAudioMixing(String filePath, boolean loopback, boolean replace, int cycle)
abstract boolean  stopAudioMixing()
abstract int  pauseAudioMixing()
abstract int  resumeAudioMixing()
abstract int  adjustAudioMixingVolume(int volume)
abstract int  getAudioMixingDuration()
abstract int  getAudioMixingCurrentPosition()
abstract int  setAudioMixingPosition(long millisecond)
abstract IAudioEffectManager  getAudioEffectManager()
abstract double  getEffectsVolume()
abstract int  setEffectsVolume(double volume)
abstract int  setVolumeOfEffect(int soundId, double volume)
abstract int  playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish)
abstract int  stopEffect(int soundId)
abstract int  stopAllEffects()
abstract int  pauseEffect(int soundId)
abstract int  pauseAllEffects()
abstract int  resumeEffect(int soundId)
abstract int  resumeAllEffects()
abstract int  enableLastmileTest()
abstract int  disableLastmileTest()
abstract int  setExternalVideoSource(boolean enable, boolean useTexture, boolean pushMode)
abstract int  pushExternalVideoFrame(TTTVideoFrame mFrame)
abstract int  isTextureEncodeSupported()
abstract int  enableDualStreamMode(boolean isEnable)
abstract int  setRemoteVideoStream(long uid, int steamType)
abstract int  switchCamera()
abstract int  setVideoMirrored(boolean mIsMirrored, boolean mIsVerticalMirrored)
abstract int  setBeautyFaceStatus(boolean mEnable, float mBeautyLevel, float mBrightLevel)
abstract int  tryRecordScreen(Activity mActivity)
abstract boolean  isScreenRecording()
abstract int  startRecordScreen(Intent data, ScreenRecordConfig mConfig)
abstract int  startRecordScreenAndSave(Intent data, ScreenRecordConfig mConfig)
abstract int  stopScreenCapture()
abstract int  configPublisher(PublisherConfiguration config)
abstract int  setVideoCompositingLayout(VideoCompositingLayout layout)
abstract int  setVideoMixerParams(int bitrate, int fps, int width, int height)
abstract int  setAudioMixerParams(int bitrate, int samplerate, int channels)
abstract int  setVideoMixerBackgroundImgUrl(String url)
abstract int  setVideoMixerBackgroundImgUrl(String url, String streamUrl)
abstract int  updateRtmpUrl(String url)
abstract int  subscribeOtherChannel(long channelID)
abstract int  unSubscribeOtherChannel(long channelID)
abstract int  CreateIjkRendererView(Context context)
abstract int  startIjkPlayer(String path, boolean mIsNormalPull)
abstract int  stopIjkPlayer()
abstract int  enableCrossRoom(boolean isEnable)
abstract int  setLogFile(String mLogFilePath)
abstract int  setLogFilter(int filter)
abstract int  setSignalTimeout(int timeout)
abstract int  enableUplinkAccelerate(boolean isEnable)
abstract boolean  kickChannelUser(long uid)
abstract boolean  adjustAudioMixingPlayoutVolume(int volume)
abstract boolean  adjustAudioMixingPublishVolume(int volume)
abstract boolean  setExternalAudioSource(boolean enable, int sampleRate, int channels)
abstract boolean  pushExternalAudioFrame(byte[] datas)
abstract boolean  isCameraZoomSupported()
abstract boolean  isCameraTorchSupported()
abstract boolean  isCameraFocusSupported()
abstract boolean  isCameraExposurePositionSupported()
abstract boolean  isCameraAutoFocusFaceModeSupported()
abstract boolean  setCameraZoomFactor(int factor)
abstract boolean  getCameraMaxZoomFactor()
abstract boolean  setCameraTorchOn(boolean isOpen)
abstract boolean  startAudioRecording(String filePath, int quality)
abstract boolean  stopAudioRecording()
abstract boolean  setAudioEarBackVolume(int volume)
abstract boolean  getConnectionState()
abstract boolean  getCameraFace()
abstract boolean  setRemoteDefaultVideoStreamType(int streamType)
abstract int  stopAudioPlayAndRecord(boolean stop)
abstract int  enableMixAudioDataReport(boolean enabled)
abstract int  setRecordingAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)
abstract int  setPlaybackAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)
abstract int  setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)
abstract int  addPublishStreamUrl(String url, boolean transcodingEnabled)
abstract int  removePublishStreamUrl(String url)
abstract int  sendAudioLyric(String lyric)

静态 Public 成员函数

static synchronized TTTRtcEngine  create(Context context, String appId, boolean enableChat, TTTRtcEngineEventHandler handler) throws Exception
static synchronized void  destroy()
static TTTRtcEngine  getInstance()

详细描述

TTTRtcEngine 的接口最好在同一个线程进行,不建议在不同的线程同时调用。

 

函数说明

 
创建TTTRtcEngine对象(create)
public static TTTRtcEngine create(Context context, String appId, boolean enableChat, TTTRtcEngineEventHandler handler);

初始化SDK,在程序生命周期中只需要调用一次,即便执行destroy函数也不需要调用。

名称 描述
context 安卓程序的上下文
appId SDK初始化需要用到的app id
enableChat SDK初始化是否需要用到聊天模块
handler SDK发送回调消息的接收对象
返回值 返回SDK的实例对象
 
销毁引擎实例(destroy)
public void destroy()

释放资源。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
获取SDK的实例对象(getInstance)
public static TTTRtcEngine getInstance();

获取SDK的实例对象,必须在SDK初始化成功后方可调用。

名称 描述
返回值 SDK的实例对象。
 
设置SDK消息回调(setTTTRtcEngineEventHandler)
public void setTTTRtcEngineEventHandler(TTTRtcEngineEventHandler mTTTRtcEngineEventHandler);

设置SDK发送回调消息的接收对象。

 
设置频道模式(setChannelProfile)
public int setChannelProfile(int profile);

设置频道模式。 注意:该接口具有全局状态,不用每次加入频道都调用,除非模式需要切换。

名称 描述
profile 频道模式
返回值 0代表方法调用成功,其他代表失败。

频道模式:

名称 描述
CHANNEL_PROFILE_COMMUNICATION 通信模式。
CHANNEL_PROFILE_LIVE_BROADCASTING 直播模式。
CHANNEL_PROFILE_GAME_FREE_MODE 游戏模式。
 
设置用户角色(setClientRole)
public int setClientRole(int role)

设置用户角色,用户指挥官模式。在加入频道前,用户需要通过本方法设置被指挥者(默认)或指挥者角色式。在加入频道后,用户可以通过本方法切换用户模式。

注意:该接口具有全局状态,不用每次加入频道都调用,除非角色需要切换。

名称 描述
role 用户角色
返回值 0代表方法调用成功,其他代表失败。

用户角色:

名称 描述
CLIENT_ROLE_ANCHOR 主播。
CLIENT_ROLE_BROADCASTER 副播。
CLIENT_ROLE_AUDIENCE 观众。
 
加入频道(joinChannel)
public int joinChannel(String channelKey, String channelName, long optionalUid);

加入视频通信房间,需要异步调用。

名称 描述
channelKey 频道key
channelName 频道名字
optionalUid 用户ID
返回值 0代表方法调用成功,其他代表失败。
 
加入频道(joinChannel)
public int joinChannel(   String  channelKey,
                          String  channelName,
                          long     optionalUid,
                          boolean enableChat,
                          boolean enableSignal );

加入视频通信房间,需要异步调用

名称 描述
channelKey 频道key
channelName 频道名字
optionalUid 用户ID
enableChat 启用聊天
enableSignal 启用信令
返回值 0代表方法调用成功,其他代表失败。
 
离开频道(leaveChannel)
public int leaveChannel(RtcStats stats);

离开视频通信房间。

名称 描述
stats 详情看 RtcStats
返回值 0代表方法调用成功,其他代表失败。
 
更新Token(renewToken)
public int renewToken(String token);

该方法用于更新 Token。如果启用了 Token 机制,过一段时间后使用的 Token 会失效。

名称 描述
token 新的 Token
返回值 0代表方法调用成功,其他代表失败。
 
查询SDK版本号(getSdkVersion)
public String getSdkVersion()

该方法返回 SDK 版本号字符串。

名称 描述
返回值 SDK版本号
 
将自己静音(muteLocalAudioStream)
public int muteLocalAudioStream( boolean muted )

静音/取消静音。该方法用于允许/禁止往网络发送本地音频流。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换静音状态。

名称 描述
muted True麦克风静音,False取消静音
返回值 0代表方法调用成功,其他代表失败
 
静音所有远端音频(muteAllRemoteAudioStreams)
public int muteAllRemoteAudioStreams( boolean muted )

该方法用于允许/禁止接收和播放远端用户的音频流,即对所有远端用户进行静音与否。

名称 描述
muted True麦克风静音,False取消静音
返回值 0代表方法调用成功,其他代表失败
 
静音指定用户音频(muteRemoteAudioStream)
public int muteRemoteAudioStream(int uid, boolean muted )

静音指定远端用户/对指定远端用户取消静音。

名称 描述
uid 指定用户ID
muted True麦克风静音,False取消静音
返回值 0代表方法调用成功,其他代表失败
 
取消指定用户发言权限(muteRemoteSpeaking)
public int muteRemoteSpeaking(long uid, boolean isDisable)

取消指定用户发言权限,其他所有用户都无法听到该用户的说话。

名称 描述
uid 指定用户ID
isDisable True取消发言权限,False获取发言权限。
返回值 0代表方法调用成功,其他代表失败
 
调节伴奏人声大小(adjustAudioMixingSoloVolume)
public int adjustAudioMixingSoloVolume(int volume)

使用该方法调节混音里人声的音量比例大小。请在频道内调用该方法。

名称 描述
volume 人声音量范围为0~100。默认100为原始人声音量。
返回值 0代表方法调用成功,其他代表失败
 
启用/禁用音频裸数据上报 (enableAudioDataReport)
public int enableAudioDataReport(boolean isLocalEable, boolean isRemoteEnable)

是否启用本地/远端音频裸数据的回调上报。

名称 描述
isLocalEable true代表启用本地音频上报,false代表禁用本地音频上报。
isRemoteEnable true代表启用远端音频上报,false代表禁用远端音频上报。
返回值 0代表方法调用成功,其他代表失败
 
启用说话者音量提示(enableAudioVolumeIndication)
public int enableAudioVolumeIndication(int interval, int smooth)

该方法允许 SDK 定期向应用程序反馈当前谁在说话以及说话者的音量。通过 onAudioVolumeIndication 回调上报。

名称 描述
interval 指定音量提示的时间间隔。小于0禁用音量提示功能,单位为毫秒。
smooth 平滑系数。默认为3,范围0~1之间。
返回值 0代表方法调用成功,其他代表失败
 
设置音频的编码选项(setPreferAudioCodec)
public int setPreferAudioCodec(int codecType, int bitrate, int channels)

设置音频的编码选项。切勿在加入频道后再次调用本方法。若使用录屏或分享屏幕功能,则必须使用AAC格式的编码。

名称 描述
codecType 支持 TTT_AUDIO_CODEC_AAC 和 TTT_AUDIO_CODEC_ISAC 两种格式。
bitrate 音频码率,设置范围 AAC 24~96、ISAC 10~32。
channels 音频声道数,设置范围 1 代表单声道,2 代表双声道,其他值无效。
返回值 0代表方法调用成功,其他代表失败
 
设置音频高音质选项(setHighQualityAudioParameters)
public int setHighQualityAudioParameters(boolean enable)

设置音频高音质选项。切勿在加入频道后再次调用本方法。若使用录屏或分享屏幕功能,则必须启用高音质。

注意: 该接口已弃用,建议使用 setPreferAudioCodec

名称 描述
enable true启用高音质,false禁用高音质。
返回值 0代表方法调用成功,其他代表失败
 
打开视频模式(enableVideo)
public int enableVideo()

该方法用于打开视频模式。可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启视频模式,在通话中调用则由音频模式切换为视频模式。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换视频模式。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
关闭视频模式(disableVideo)
public int disableVideo()

该方法用于关闭视频模式。可以在加入频道前或者通话中调用。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换视频模式。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
设置本地视频属性(setVideoProfile)
public int setVideoProfile( int profile, boolean swapWidthAndHeight )

该方法设置视频编码属性,每个属性对应一套视频参数,如分辨率、帧率、码率等。当设备的摄像头不支持指定的分辨率时,SDK 会自动选择一个合适的摄像头分辨率用于采集,但是编码分辨率仍然用接口指定的。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次改变视频属性。

名称 描述
profile 预设的视频质量
swapWidthAndHeight 是否将视频的宽和高互调
返回值 0代表方法调用成功,其他代表失败

视频编码属性表:

视频属性 枚举值 分辨率(宽x高) 帧率(fps) 码率(kbps)
VIDEO_PROFILE_120P 110 160*120 15 65
VIDEO_PROFILE_180P 111 320*180 15 140
VIDEO_PROFILE_240P 112 320*240 15 200
VIDEO_PROFILE_360P 113 640*360 15 400
VIDEO_PROFILE_480P 114 640*480 15 500
VIDEO_PROFILE_720P 115 1280*720 15 1130
VIDEO_PROFILE_1080P 116 1920*1080 15 2080
 
设置自定义本地视频属性(setVideoProfile)
public int setVideoProfile(int width, int height, int frameRate, int bitrate)

该方法设置自定义的视频编码属性。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次改变视频属性。

名称 描述
width 视频的宽度
height 视频的高度
frameRate 视频的帧率
bitrate 视频的码率
返回值 0代表方法调用成功,其他代表失败
 
设置本地视频显示属性(setupLocalVideo)
public int setupLocalVideo(VideoCanvas local, int activityOrientation)

该方法设置本地视频显示信息。应用程序通过调用此接口绑定本地视频流的显示视窗(view),并设置视频显示模式。 在应用程序开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。


名称 描述
local 本地视频显示属性对象,详情看 VideoCanvas
activityOrientation activity当前方向。
返回值 0代表方法调用成功,其他代表失败
 
设置远端视频显示属性(setupRemoteVideo)
public int setupRemoteVideo( VideoCanvas remote )

该方法绑定远程用户和显示视图,即设定 uid 指定的用户用哪个视图显示。调用该接口时需要指定远程视频的 uid,一般可以在 APP 收到 onUserJoined 事件时设置。

名称 描述
remote 远端视频显示属性对象,详情看 VideoCanvas
返回值 0代表方法调用成功,其他代表失败
 
开启本地视频预览画面(startPreview)
public int startPreview()

开启本地视频预览画面。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
关闭本地视频预览画面(stopPreview)
public int stopPreview()

关闭本地视频预览画面。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
禁用/启用本地视频 (enableLocalVideo)
public int enableLocalVideo(boolean enabled)

禁用/启用本地视频功能,该方法用于只看不发的视频场景。该方法不需要本地有摄像头。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换本地视频状态。

名称 描述
enabled 禁用/启用
返回值 0代表方法调用成功,其他代表失败
 
暂停指定用户的视频流(muteRemoteVideoStream)
public int muteRemoteVideoStream( int uid, boolean muted )

该方法用于允许/禁止播放指定的远端视频流。

名称 描述
uid 用户ID
muted True: 停止播放指定用户的视频流,False: 允许播放指定用户的视频流
返回值 0代表方法调用成功,其他代表失败
 
暂停指定用户某个视频设备的视频流(muteRemoteVideoStream)
public int muteRemoteVideoStream( int uid, String devId, boolean muted )

该方法用于允许/禁止播放指定的远端视频流。

名称 描述
uid 用户ID
devId 用户的视频设备ID
muted True: 停止播放指定用户的视频流,False: 允许播放指定用户的视频流
返回值 0代表方法调用成功,其他代表失败
 
暂停所有远端视频(muteAllRemoteVideoStreams)
public int muteAllRemoteVideoStreams( boolean muted )

暂停所有远端视频流。

名称 描述
muted True: 停止播放用户的视频流,False: 允许播放用户的视频流
返回值 0代表方法调用成功,其他代表失败
 
创建渲染视图(CreateRendererView)
public SurfaceView CreateRendererView(Context context)

该方法创建视频渲染视图,返回 SurfaceView 的类型。显示视频视图必须调用该方法获取,而不是直接创建SurfaceView。

名称 描述
context 安卓上下文
返回值 SurfaceView 渲染视图
 
修改默认的语音路由(setDefaultAudioRouteToSpeakerPhone)
public int setDefaultAudioRouteToSpeakerPhone( boolean defaultToSpeaker )

调用该方法修改默认的语音路由。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换。

名称 描述
defaultToSpeaker true 默认路由改为外放(扬声器) false 默认路由改为听筒
返回值 0代表方法调用成功,其他代表失败
 
打开外放(setEnableSpeakerphone)
public int setEnableSpeakerphone( boolean enabled )

该方法打开外放(扬声器)。调用该方法后,SDK 将返回 onAudioRouteChange 回调提示状态已更改。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次切换。

名称 描述
enabled true 打开扬声器(若已插入耳机、蓝牙等设备,也将切换到扬声器), false 关闭扬声器,切为听筒
返回值 0代表方法调用成功,其他代表失败
 
获取当前扬声器的状态(isSpeakerphoneEnabled)
public boolean isSpeakerphoneEnabled()

获取当前扬声器的状态.

名称 描述
返回值 true 表示扬声器处于打开状态,false表示听筒处于打开状态
 
启用/禁用耳返 (enableAudioEarBack)
public int enableAudioEarBack(boolean enableEarsBack)

启用/禁用耳返。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
开始播放伴奏(startAudioMixing)
public int startAudioMixing(String filePath,
                                  bool loopback,
                                  bool replace,
                                  int cycle)

指定本地音频文件来和麦克风采集的音频流进行混音和替换(用音频文件替换麦克风采集的音频流), 可以通过参数选择是否让对方听到本地播放的音频和指定循环播放的次数。

名称 描述
filePath 指定需要混音的本地音频文件名和文件路径。支持以下音频格式:mp3, aac, m4a, 3gp, wav, flac
loopback True只有本地可以听到混音或替换后的音频流,False本地和对方都可以听到混音或替换后的音频流
replace True音频文件内容将会替换本地录音的音频流,False音频文件内容将会和麦克风采集的音频流进行混音
cycle 指定音频文件循环播放的次数。正整数代表循环的次数
返回值 0代表方法调用成功,其他代表失败
 
停止播放伴奏(stopAudioMixing)
public int stopAudioMixing()

该方法停止播放伴奏。请在频道内调用该方法。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
暂停播放伴奏(pauseAudioMixing)
public int pauseAudioMixing()

该方法暂停播放伴奏。请在频道内调用该方法。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
恢复播放伴奏(resumeAudioMixing)
public int resumeAudioMixing()

该方法恢复混音,继续播放伴奏。请在频道内调用该方法。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
调节伴奏音量(adjustAudioMixingVolume)
public int adjustAudioMixingVolume(int volume)

该方法调节混音里伴奏的音量大小。请在频道内调用该方法。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次调节音量。

名称 描述
volume 伴奏与人声音量比例范围为0~1。0代表无伴奏声音,1代表无人声。
返回值 0代表方法调用成功,其他代表失败
 
获取伴奏时长(getAudioMixingDuration)
public int getAudioMixingDuration()
名称 描述
返回值 0代表方法调用成功,其他代表失败
 
获取伴奏播放进度(getAudioMixingCurrentPosition)
public int getAudioMixingCurrentPosition()

该方法获取伴奏时长,单位为毫秒。请在频道内调用该方法。

名称 描述
返回值 伴奏时长
 
设置音乐文件的播放位置(setAudioMixingPosition)
public int setAudioMixingPosition(long millisecond)

使用该方法设置音乐文件的播放位置。请在频道内调用该方法。

名称 描述
millisecond 播放的位置,毫秒值
返回值 0代表方法调用成功,其他代表失败
 
获取IAudioEffectManager类(getAudioEffectManager)
public IAudioEffectManager getAudioEffectManager(long millisecond)

获取 IAudioEffectManager 类,以管理音效文件。

名称 描述
返回值 得到 IAudioEffectManager 类对象。
 
获取播放音效文件音量(getEffectsVolume)
public double getEffectsVolume()

获取播放音效文件音量。范围为 [0.0, 100.0]。

名称 描述
返回值 当前音效文件播放的音量值。
 
设置播放音效文件音量(setEffectsVolume)
public int setEffectsVolume(double volume)

设置播放音效文件音量。

名称 描述
volume 取值范围为 [0.0, 100.0]。 100.0 为默认值。
返回值 0代表方法调用成功,其他代表失败。
 
设置指定的播放音效文件音量(setVolumeOfEffect)
public int setVolumeOfEffect(int soundId, double volume)

设置指定的播放音效文件音量。

名称 描述
soundId 音效文件 ID。
volume 取值范围为 [0.0, 100.0]。 100.0 为默认值。
返回值 0代表方法调用成功,其他代表失败。
 
播放音效文件(playEffect)
public int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish)

播放音效文件。

名称 描述
soundId 指定音效的 ID, 每个音效均有唯一的 ID。
filePath 音效文件的绝对路径。
loopCount 设置音效循环播放的次数. 1:播放音效一次 ; 2:播放音效两次 ; 小于0无限循环播放音效, 直至调用 stopEffect 或 stopAllEffects 后停止。
pitch 设置音效的音调。 取值范围为 [0.5, 2], 默认值为 1.0, 表示不需要修改音调, 取值越小, 则音调越低。
pan 设置是否改变音效的空间位置,该参数暂未实现。取值范围为 [-1.0, 1.0];0.0:音效出现在正前方;1.0:音效出现在左边,-1.0:音效出现在右边。
gain 设置是否改变单个音效的音量。取值范围为 [0.0, 100.0],默认值为 100.0,取值越小则音效的音量越低。
publish 设置是否将音效传到远端。true音效在本地播放的同时,远端用户也能听到该音效。false只能在本地听到该音效。
返回值 0代表方法调用成功,其他代表失败。
 
停止播放音效文件(stopEffect)
public int stopEffect(int soundId)

停止播放音效文件。

名称 描述
soundId 音效文件 ID。
返回值 0代表方法调用成功,其他代表失败。
 
停止所有音效文件的播放(stopAllEffects)
public int stopAllEffects()

停止所有音效文件的播放。

名称 描述
返回值 0代表方法调用成功,其他代表失败。
 
暂停音效文件的播放(pauseEffect)
public int pauseEffect(int soundId)

暂停音效文件的播放。

名称 描述
soundId 音效文件 ID。
返回值 0代表方法调用成功,其他代表失败。
 
暂停所有音效文件的播放(pauseAllEffects)
public int pauseAllEffects()

暂停所有音效文件的播放。

名称 描述
返回值 0代表方法调用成功,其他代表失败。
 
恢复音效文件的播放(resumeEffect)
public int resumeEffect(int soundId)

恢复音效文件的播放。

名称 描述
soundId 音效文件 ID。
返回值 0代表方法调用成功,其他代表失败。
 
恢复所有音效文件的播放(resumeAllEffects)
public int resumeAllEffects()

恢复所有音效文件的播放。

名称 描述
返回值 0代表方法调用成功,其他代表失败。
 
启用网络测试(enableLastmileTest)
public int enableLastmileTest()

启用网络测试。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要关闭该功能。

名称 描述
返回值 0代表方法调用成功,其他代表失败。
 
停止网络测试(disableLastmileTest)
public int disableLastmileTest()

停止网络测试。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要打开该功能。

名称 描述
返回值 0代表方法调用成功,其他代表失败。
 
设置是否使用外部视频源(setExternalVideoSource)
public boolean setExternalVideoSource(boolean enable,
                                      boolean useTexture,
                                      boolean pushMode)

设置是否使用外部视频源

名称 描述
enable 是否使用外部视频源
useTexture 是否使用Texture作为输入
pushMode 是否外部视频源需要调用PushVideoFrame将视频帧主动推送给SDK
返回值 True支持Texture编码,False不支持Texture编码
 
推送外部视频帧(pushExternalVideoFrame)
public int pushExternalVideoFrame(TTTVideoFrame mFrame)

推送外部视频帧。

名称 描述
mFrame,详情请见 TTTVideoFrame 类的介绍。 该视频帧包含待SDK编码的视频数据
返回值 0代表方法调用成功,其他代表失败
 
检查设备是否支持texture编码(isTextureEncodeSupported)
public boolean isTextureEncodeSupported()

检查该设备是否支持 texture 编码

名称 描述
返回值 True支持Texture编码,False不支持Texture编码
 
是否启用视频双流模式(enableDualStreamMode)
public int enableDualStreamMode(boolean isEnable)

是否启用视频双流模式

名称 描述
isEnable 是否启用视频双流模式
返回值 0代表方法调用成功,其他代表失败
 
指定接收远端用户的视频流大小(setRemoteVideoStream)
public int setRemoteVideoStream(long uid, int steamType)

设置视频大小流 如果远端用户选择发送双流(视频大流和小流), 该方法指定接收远端用户的视频流大小

名称 描述
uid 用户ID
steamType 视频流类型
返回值 0代表方法调用成功,其他代表失败
 
翻转本地预览摄像头(switchCamera)
public int switchCamera()

翻转本地预览摄像头。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次翻转摄像头。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
摄像头镜像模式(setVideoMirrored)
public int setVideoMirrored(boolean mIsMirrored, boolean mIsVerticalMirrored)

是否启用摄像头镜像模式,暂只支持前置摄像头。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次调整镜像。

名称 描述
mIsMirrored 水平镜像true启用,false不启用,默认true
mIsVerticalMirrored 垂直镜像true启用,false不启用,默认false
返回值 0代表方法调用成功,其他代表失败
 
视频美颜和明亮(setBeautyFaceStatus)
public int setBeautyFaceStatus(boolean mEnable, float mBeautyLevel, float mBrightLevel)

设置美颜和明亮的开启和关闭,以及强度。

注意:该接口具有全局状态,不用每次加入频道都调用,除非需要再次调整美颜。

名称 描述
mEnable true代表启用, false代表禁用, 默认启用
mBeautyLevel 美颜的强度, 参数设置范围0f~1f, 默认0.5f
mBrightLevel 明亮的强度, 参数设置范围0f~1f, 默认0.5f
返回值 0代表方法调用成功,其他代表失败
 
提醒用户当前程序要开始录制屏幕(tryRecordScreen)
public int tryRecordScreen(Activity mActivity)

提醒用户当前程序要开始录制屏幕

名称 描述
mActivity 当前要录屏时激活的Activity
返回值 0代表方法调用成功,其他代表失败
 
是否正在屏幕录制(isScreenRecording)
public boolean isScreenRecording()

是否正在屏幕录制

名称 描述
返回值 YES: 是,NO: 否
 
录制屏幕并当做视频源(startRecordScreen)
public int startRecordScreen(Intent data, ScreenRecordConfig mConfig)

获得权限后开始录制屏幕用作视频源分享给其他用户观看。

名称 描述
data 系统返回的Intent对象。
mConfig 屏幕录制相关设置参数对象。详情请见 ScreenRecordConfig 类的介绍。
返回值 0代表方法调用成功,其他代表失败
 
录制屏幕并保持本地(startRecordScreenAndSave)
public int startRecordScreenAndSave(Intent data, ScreenRecordConfig mConfig)

获得权限后开始录制屏幕保存到本地相册中。

名称 描述
data 系统返回的Intent对象。
mConfig 屏幕录制相关设置参数对象。详情请见 ScreenRecordConfig 类的介绍。
返回值 0代表方法调用成功,其他代表失败
 
停止录制屏幕(stopScreenCapture)
public int stopScreenCapture()

停止录制屏幕。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
配置旁路直播推流(configPublisher)
public int configPublisher(PublisherConfiguration config)

该方法用于在加入频道前为引擎创建一份推流设置。我们提供一个 Builder 类方便配置旁路直播推流。

名称 描述
config 封装配置信息的类。详情请见 PublisherConfiguration 类的介绍。
返回值 0代表方法调用成功,其他代表失败
 
设置画中画布局(setVideoCompositingLayout)
public int setVideoCompositingLayout(VideoCompositingLayout layout)

设置画中画布局

名称 描述
layout 布局参数封装类。详见 VideoCompositingLayout
返回值 0代表方法调用成功,其他代表失败
 
设置服务器混屏参数(setVideoMixerParams)
public int setVideoMixerParams(int bitrate,
                               int fps,
                               int width,
                               int height)

设置服务器混屏参数

名称 描述
bitrate 码率,单位kbps, 取值范围 0~3000。
fps 帧率
width 视频宽度
height 视频高度
返回值 0代表方法调用成功,其他代表失败
 
设置服务器混音参数(setAudioMixerParams)
public int setAudioMixerParams(int bitrate,
                               int samplerate,
                               int channels)

设置服务器混音参数。

名称 描述
bitrate 码率,单位kbps, 取值范围0~192。
samplerate 采样率,取值范围8000、16000、24000、32000、44100、48000。
channels 通道数,取值范围1、 2。
返回值 0代表方法调用成功,其他代表失败。
 
设置视频混流背景图(setVideoMixerBackgroundImgUrl)
public int setVideoMixerBackgroundImgUrl(String url)

设置视频混流背景图。

名称 描述
url 图片的 url 地址。
返回值 0代表方法调用成功,其他代表失败
 
设置视频混流背景图(setVideoMixerBackgroundImgUrl)
public abstract int setVideoMixerBackgroundImgUrl(String url, String streamUrl)

设置视频混流背景图,该接口适用于多推流场景。

名称 描述
url 图片http协议的网络地址,不支持本地图片路径。
streamUrl 推流地址。
返回值 0代表方法调用成功,其他代表失败
 
更新房间的推流地址(updateRtmpUrl)
public int updateRtmpUrl(String url)

更新房间的推流地址。

名称 描述
url 推流的地址
返回值 0代表方法调用成功,其他代表失败
 
开始跨房间连麦(subscribeOtherChannel)
public int subscribeOtherChannel(long channelID)

开始跨房间连麦。

名称 描述
channelID 要连麦的房间 ID
返回值 0代表方法调用成功,其他代表失败
 
停止当前跨房间连麦(unSubscribeOtherChannel)
public int unSubscribeOtherChannel(long channelID)

停止当前跨房间连麦。

名称 描述
channelID 要停止连麦的房间 ID
返回值 0代表方法调用成功,其他代表失败
 
CreateIjkRendererView(Context context)
public IjkVideoView CreateIjkRendererView(Context context)

创建ktv的mv显示控件。

名称 描述
context 安卓当前活动的 activity 上下文。
返回值 视频显示控件,用于播放视频。
 
开启ktv视频播放(startIjkPlayer)
public int startIjkPlayer(String path, boolean mIsNormalPull)

开启ktv视频播放推流或普通拉流。

名称 描述
path 视频源的路径,支持网络url地址和本地视频文件路径。
mIsNormalPull 是否只是普通的拉流观看,而不是播放ktv。true代表普通拉流看,false代表播放ktv。
返回值 0代表方法调用成功,其他代表失败
 
停止当前跨房间连麦(stopIjkPlayer)
public int stopIjkPlayer()

开启ktv视频播放推流或普通拉流。

名称 描述
返回值 0代表方法调用成功,其他代表失败
 
启用/停止跨房间连麦 (enableCrossRoom)
public int enableCrossRoom(boolean isEnable)

启用/停止跨房间连麦功能。若未开启功能,多个主播进同一个房间,前一个主播会被踢掉。

名称 描述
isEnable true启用跨房间连麦功能,false禁用跨房间连麦功能
返回值 0代表方法调用成功,其他代表失败
 
设置日志文件(setLogFile)
public int setLogFile( String filePath )

设置 SDK 的输出 log 文件。SDK 运行时产生的所有 log 将写入该文件。应用程序必须保证指定的目录存在而且可写。

名称 描述
filePath 应用程序必须保证指定的目录存在而且可写
返回值 0代表方法调用成功,其他代表失败
 
设置日志过滤器(setLogFilter)
public int setLogFilter(int filter)

设置 SDK 的输出日志到文件的过滤器。不同的过滤器可以用或组合。

名称 描述
filter 过滤器
返回值 0代表方法调用成功,其他代表失败

日志过滤等级:


名称 描述
LOG_FILTER_INFO 只显示 INFO 或以上信息。通过类 Constants 静态调用该字段。
LOG_FILTER_DEBUG 只显示 DEBUG 或以上信息。通过类 Constants 静态调用该字段。
LOG_FILTER_WARNING 只显示 WARN 或以上信息。通过类 Constants 静态调用该字段。
LOG_FILTER_ERROR 只显示 ERROR 或以上信息。通过类 Constants 静态调用该字段。
LOG_FILTER_OFF 关闭日志过滤器。通过类 Constants 静态调用该字段。
 
服务器连接超时时间(setSignalTimeout)
public int setSignalTimeout(int timeout)

设置客户端与服务器连接超时的时间。

名称 描述
timeout 超时时间,默认 90 秒。
返回值 0代表方法调用成功,其他代表失败
 
启用/禁用音频上行加速 (enableUplinkAccelerate)
public int enableUplinkAccelerate(boolean isEnable)

是否启用音频上行加速。

名称 描述
isEnable true代表启用,false代表禁用,默认禁用。
返回值 0代表方法调用成功,其他代表失败
 
将某个用户请出房间(kickChannelUser)
public boolean kickChannelUser(long uid)

将某个用户请出房间,只有在直播模式下,并且角色是主播,调用该方法才有效。

名称 描述
uid 被请出的用户ID
返回值 true表示踢出用户成功,false表示失败
 
调节伴奏本地播放音量(adjustAudioMixingPlayoutVolume)
public abstract int adjustAudioMixingPlayoutVolume(int volume)

调节伴奏本地播放音量,不影响远端用户接收的音量。只有当开启伴奏后,调用该方法才有效。详见接口 startAudioMixing 。

名称 描述
volume 伴奏音量范围为0~100。默认50为原始文件音量。
返回值 0代表方法调用成功,其他代表失败。
 
调节伴奏远端播放音量(adjustAudioMixingPublishVolume)
public abstract int adjustAudioMixingPublishVolume(int volume)

调节伴奏远端播放音量,不影响本地伴奏播放音量。只有当开启伴奏后,调用该方法才有效。详见接口 startAudioMixing 。

名称 描述
volume 伴奏音量范围为0~100。默认50为原始文件音量。
返回值 0代表方法调用成功,其他代表失败。
 
设置是否使用外部音频源(setExternalAudioSource)
public abstract int setExternalAudioSource(boolean enable, int sampleRate, int channels)

该方法设置是否使用外部音频源。在房间内调用该接口无效。

名称 描述
enable true 启用外部音频源,false 关闭外部音频源。
sampleRate 采样率。
channels 通道数,支持的参数为单声道(1),双声道(2)。
返回值 0代表方法调用成功,其他代表失败。
 
推送外部音频帧(pushExternalAudioFrame)
public abstract int pushExternalAudioFrame(byte[] data)

推送外部音频帧。仅在开启外部音频源功能后,并且在房间内调用,才生效。

名称 描述
data 外部音频数据。
返回值 0代表方法调用成功,其他代表失败。
 
是否支持摄像头缩放功能(isCameraZoomSupported)
public abstract boolean isCameraZoomSupported()

检测设备是否支持摄像头缩放功能。

返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
是否支持闪光灯常开(isCameraTorchSupported)
public abstract boolean isCameraTorchSupported()

检测设备是否支持闪光灯常开。

返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
是否支持手动对焦功能(isCameraFocusSupported)
public abstract boolean isCameraFocusSupported()

检测设备是否支持手动对焦功能。

返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
是否支持手动曝光功能(isCameraExposurePositionSupported)
public abstract boolean isCameraExposurePositionSupported()

检测设备是否支持手动曝光功能。

返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
是否支持人脸对焦功能(isCameraAutoFocusFaceModeSupported)
public abstract boolean isCameraAutoFocusFaceModeSupported()

检测设备是否支持人脸对焦功能。

返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
设置摄像头缩放比例(setCameraZoomFactor)
public abstract boolean setCameraZoomFactor(int factor)

设置摄像头缩放比例。

factor 相机缩放比例,有效范围从 1.0 到最大缩放。
返回值 true 摄像头支持该功能,false 摄像头不支持该功能。
 
获取摄像头支持最大缩放比例(getCameraMaxZoomFactor)
public abstract int getCameraMaxZoomFactor()

获取摄像头支持最大缩放比例。

返回值 该相机支持的最大缩放比例。
 
设置是否打开闪光灯(setCameraTorchOn)
public abstract boolean setCameraTorchOn(boolean isOpen)

设置是否打开闪光灯。

返回值 true:打开,false:关闭。
 
开始客户端录音(startAudioRecording)
public abstract int startAudioRecording(String filePath, int quality)

开始客户端录音。

filePath 录音文件的本地保存路径: xxx/.../xxx.aac。
quality 录音质量。
返回值 true 摄像头支持该功能,false 摄像头不支持该功能。

录音质量等级,在 Constants 常量类中定义,划分为:

名称 描述
TTT_AUDIO_RECORDING_QUALITY_LOW 低音质。采样率为 48 kHz,码率 16 kpbs,录制 10 分钟的文件大小为 1.2 M 左右。
TTT_AUDIO_RECORDING_QUALITY_MEDIUM 中音质。采样率为 48 kHz,码率 32 kpbs,录制 10 分钟的文件大小为 2 M 左右。
TTT_AUDIO_RECORDING_QUALITY_HIGH 高音质。采样率为 48 kHz,码率 64 kpbs,录制 10 分钟的文件大小为 3.75 M 左右。
 
停止客户端录音(stopAudioRecording)
public abstract int stopAudioRecording()

停止客户端录音。

返回值 0代表方法调用成功,其他代表失败。
 
设置耳返音量(setAudioEarBackVolume)
public abstract int setAudioEarBackVolume(int volume)

设置耳返音量,在打开耳返的情况下有效。

volume 设置耳返音量,取值范围在 [0,100] 默认值为 100。
返回值 0代表方法调用成功,其他代表失败。
 
获取网络连接状态(getConnectionState)
public abstract int getConnectionState()

获取网络连接状态。

返回值 返回当前网络连接状态。

网络连接状态等级,在 Constants 常量类中定义,划分为:

名称 描述
TTT_CS_DISCONNECTED 未加入房间,加入房间失败后,或者离开房间之后。
TTT_CS_CONNECTING 加入房间正在建立网络连接。
TTT_CS_CONNECTED 网络连接建立成功。
TTT_CS_RECONNECTING 网络连接重连中。
TTT_CS_FAILED 网络连接失败。
 
获取当前摄像头的ID(getCameraFace)
public abstract int getCameraFace()

获取当前摄像头的ID。

返回值 当前摄像头的ID。

摄像头ID类型,在 Constants 常量类中定义,划分为:

名称 描述
TTT_CAMERA_FRONT 代表前置摄像头。
TTT_CAMERA_BACK 代表后置摄像头。
TTT_CAMERA_EXTERNAL 代表外置摄像头。
 
设置默认订阅的视频流类型(setRemoteDefaultVideoStreamType)
public abstract int setRemoteDefaultVideoStreamType(int streamType)

设置默认订阅的视频流类型。

streamType 设置视频流大小。
返回值 true 摄像头支持该功能,false 摄像头不支持该功能。

视频流类型,在 Constants 常量类中定义,划分为:

名称 描述
VIDEO_STEAM_TYPE_BIG 视频大流,即高分辨率、高码率视频流。
VIDEO_STEAM_TYPE_SMALL 视频小流,即低分辨率、低码率视频流。
 
停止/恢复音频采集和播放功能(stopAudioPlayAndRecord)
public int stopAudioPlayAndRecord(boolean stop)

控制本地音频采集和远端音频播放功能。

名称 描述
stop true代表停止采集和播放,false代表恢复采集和播放。
返回值 0代表方法调用成功,其他代表失败
 
启用/禁用本地和远端音频混音后的裸数据上报(enableMixAudioDataReport)
public abstract void enableMixAudioDataReport(boolean enabled)

启用/禁用本地和远端音频混音后的裸数据上报,默认禁用。

名称 描述
enabled true代表启用上报功能,false代表禁用上报功能。
 
设置上报的本地音频裸数据的采样率,声道数和采样点数(setRecordingAudioFrameParameters)
public abstract int setRecordingAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)

设置上报的本地音频裸数据的采样率,声道数和采样点数。

名称 描述
sampleRate 采样率。
channel 声道数。
samplesPerCall 采样点数。
返回值 0代表方法调用成功,其他代表失败
 
设置上报的远端音频裸数据的采样率,声道数和采样点数(setPlaybackAudioFrameParameters)
public abstract int setPlaybackAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)

设置上报的远端音频裸数据的采样率,声道数和采样点数。

名称 描述
sampleRate 采样率。
channel 声道数。
samplesPerCall 采样点数。
返回值 0代表方法调用成功,其他代表失败
 
设置上报的本地和远端音频裸数据,经过混音后数据的采样率,声道数和采样点数(setMixedAudioFrameParameters)
public abstract int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall)

设置上报的本地和远端音频裸数据,经过混音后数据的采样率,声道数和采样点数。

名称 描述
sampleRate 采样率。
channel 声道数。
samplesPerCall 采样点数。
返回值 0代表方法调用成功,其他代表失败
 
增加旁路推流地址(addPublishStreamUrl)
public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled)

增加旁路推流地址,该接口适用于多推流场景。SDK 会在本地触发 onRtcPushStatus 回调,报告增加旁路推流地址的状态。

名称 描述
url 推流地址。
transcodingEnabled 该推流地址是否进行转码。
返回值 0代表方法调用成功,其他代表失败
 
删除旁路推流地址(removePublishStreamUrl)
public abstract int removePublishStreamUrl(String url)

删除旁路推流地址,该接口适用于多推流场景。SDK 会在本地触发 onRtcPushStatus 回调,报告删除旁路推流地址的状态。

名称 描述
url 要删除的推流地址。
返回值 0代表方法调用成功,其他代表失败
 
发送伴奏歌曲的歌词信息(sendAudioLyric)
public abstract int sendAudioLyric(String lyric)

发送伴奏歌曲的歌词信息。

名称 描述
lyric 歌词内容
返回值 0代表方法调用成功,其他代表失败

 

 

 

API回调

class   LocalAudioStats
class   LocalVideoStats
class   RemoteAudioStats
class   RemoteVideoStats
class   RtcStats
class   TTTVideoFrame
class   TTTVideoCanvas
class   VideoCompositingLayout
class   ScreenRecordConfig
class   PublisherConfiguration

Public 成员函数

void  onError(int err)
void  onJoinChannelSuccess(String channel, long uid, int elapsed)
void  onLeaveChannel( RtcStats stats)
void  onClientRoleChanged(long uid, int userRole)
void  onUserKicked(long uid, int reason)
void  onUserJoined(long uid, int identity, int elapsed)
void  onUserOffline(long uid, int reason)
void  onConnectionLost()
void  onReconnectServerFailed()
void  onReconnectServerSucceed()
void  onTokenPrivilegeWillExpire()
void  onSetSEI(String sei)
void  onAudioVolumeIndication(long uid, int audioLevel, int audioLevelFullRange)
void  onFirstAudioFrameDecoded(long uid)
void  onCameraReady()
void  onVideoStopped()
void  onFirstLocalVideoFrame(int width, int height, int elapsed)
void  onFirstRemoteVideoDecoded(long uid, int width, int height, int elapsed)
void  onFirstRemoteVideoFrame(long uid, int width, int height, int elapsed)
void  onFirstRemoteVideoDecoded(long uid, String devId, int width, int height, int elapsed)
void  onFirstRemoteVideoFrame(long uid, String devId, int width, int height, int elapsed)
void  onSpeakingMuted(long uid, boolean muted)
void  onUserMuteAudio(long uid, boolean muted)
void  onUserEnableVideo(long uid, boolean enabled)
void  onUserEnableVideo(long uid, String devId, boolean enabled)
void  onAudioRouteChanged(int routing)
void  onLocalVideoFrameCaptured( TTTVideoFrameframe)
void  onRemoteVideoFrameDecodedOfUid(long uid, TTTVideoFrameframe)
void  onRemoteVideoFrameDecodedOfUid(long uid, String devId, TTTVideoFrameframe)
void  onLocalVideoStats( LocalVideoStatsstats)
void  onLocalAudioStats( LocalAudioStats stats)
void  onRemoteAudioStats( RemoteAudioStats stats)
void  onRemoteVideoStats( RemoteVideoStats stats)
void  onRtcStats( RtcStats stats)
void  onLocalAudioDataReport(byte[] data, int size, int sampleRate, int channels)
void  onRemoteAudioDataReport(byte[] data, int size, int sampleRate, int channels)
void  onAudioMixingPlayFinish()
void  onAudioEffectFinished(int soundID)
void  onLastmileQuality(int quality)
void  onDualSteamModeEnabled(long uid, boolean isEnable)
void  onRtcPushStatus(String url, boolean status)
void  onAudioRecordFinish()
void  onConnectionChangedToState(int status)
void  onMixedAudioFrame(byte[] data, int size, int sampleRate, int channels)
void  onReceiveAudioLyric(long uid, String lyric)

详细描述

TTTRtcEngineEventHandler 接口类用于SDK向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 接口类的所有方法都有缺省(空)实现, App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如 SendMessage),否则可能影响 SDK 的运行。

 

类描述

 
LocalAudioStats

统计本地音频上行相关信息。

属性解释:

名称 描述
mSentBitrate 音频上行的码率。
mAudioLossRate 本地音频流的上行丢包率(百分比小数)
mAudioDelay 本地音频流的端到端延迟(毫秒)
 
LocalVideoStats

统计本地视频上行的相关信息。

属性解释:

名称 描述
mSentBitrate 视频上行的码率。
mSentFrameRate 视频上行的帧率。
mVideoLossRate 视频上行的丢包率。
mVideoBuffer 视频上行的缓冲区大小。
mDelay 本地视频上行端到端延迟(毫秒)
 
RemoteAudioStats

统计远端音频下行的相关信息。

属性解释:

名称 描述
mUid 用户的 ID。
mReceivedBitrate 音频下行的码率。
mAudioLossRate 远端用户音频流的下行丢包率(百分比小数)
mAudioDelay 远端用户音频流的下行延迟(毫秒)
 
RemoteVideoStats

统计远端视频下行的相关信息。

属性解释:

名称 描述
mUid 用户的 ID。
mDevId 用户的视频设备 ID。该属性用于多流视频源。
mDelay 视频接收延迟。
mReceivedBitrate 视频接收码率。
mReceivedFrameRate 视频接收帧率。
mReceiveFrameNum 收到的远端的帧数。
mLostFrameNum 丢掉的帧数。
mVideoLossRate 本地视频下行丢包率(百分比小数)
 
RtcStats

通话相关的统计信息。

属性解释:

名称 描述
mTotalDuration 通话时长(秒),累计值。
mTxBytes 发送字节数(bytes), 累计值。
mRxBytes 接收字节数(bytes),累计值。
mTxAudioKBitRate 发送音频码率(kbps),瞬时值。
mTxVideoKBitRate 发送视频码率(kbps),瞬时值。
mRxAudioKBitRate 接收音频码率(kbps),瞬时值。
mRxVideoKBitRate 接收视频码率(kbps),瞬时值。
 
TTTVideoFrame

外部视频源接口封装的参数类。

属性解释:

名称 描述
FORMAT_TEXTURE_2D Texture 2D图像格式。
FORMAT_TEXTURE_OES Texture OES图像格式。
FORMAT_I420 I420图像格式。
FORMAT_NV21 NV12图像格式。
FORMAT_RGBA RGBA图像格式。
FORMAT_ABGR ABGR图像格式。
mDevId 频设备ID,用于多流视频源。
format 外部提供的视频格式。
stride 外部提供的视频源宽度。
height 外部提供的视频源高度。
eglContext11 [Texture相关]外部提供的OPENGL的上下文,11版本。
eglContext14 [Texture相关]外部提供的OPENGL的上下文,14版本。
textureID [Texture相关]外部提供的OPENGL的texture ID。
syncMode [Texture相关]设置是否等待前一帧编码完成。true等待,false不等待。现在暂不支持等待前一帧模式。
transform [Texture相关]传入一个 4x4 的变换矩阵,典型值是传入一个单位矩阵。
buf [原始数据相关]传入视频帧的内容数据。
cropLeft [原始数据相关]指定左边裁剪掉的像素数量。默认为 0。
cropTop [原始数据相关]指定顶边裁剪掉的像素数量。默认为 0。
cropRight [原始数据相关]指定右边裁剪掉的像素数量。默认为 0。
cropBottom [原始数据相关]指定底边裁剪掉的像素数量。默认为 0。
rotation [原始数据相关]指定是否对传入的视频组做旋转操作,可选值为 0, 90, 180, 270。默认为 0。
 
TTTVideoCanvas

本地和远端视频属性。

属性解释:

名称 描述
mUserID 该视频属性类所属用户ID。
mDeviceID 该视频属性类的设备ID,用于多流视频源。
mShowMode 设置视频显示的模式。
mSurface 视频显示视窗。通过 CreateRendererView 接口创建获取。

显示模式:

名称 描述
RENDER_MODE_FIT 如果视频尺寸与显示视窗尺寸不一致,在保持长宽比的前提下,将视频进行缩放后填满视窗。
RENDER_MODE_HIDDEN 如果视频尺寸与显示视窗尺寸不一致,则视频流会按照显示视窗的比例进行周边裁剪或图像拉伸后填满视窗。
 
VideoCompositingLayout

SDK 中 sei 的信息封装类。

属性解释:

名称 描述
backgroundColor 混屏视频背景图的颜色,默认是黑色,RGB值数组。
regions 其他用户在混屏视频上显示的位置集合。
mCanvasWidth 混屏视频的宽度,默认取的主播视频编码宽度。
mCanvasHeight 混屏视频的高度,默认取的主播视频编码高度。
mStreamUrl 设置目标推流地址,画中画布局参数将在该推流地址中生效。仅用于多推流场景下,单推流场景无需关注此字段。

regions属性解释:

名称 描述
mUserID 其他用户的ID。
x 其他用户视频 x 轴的坐标,取值范围0~1之间。
y 其他用户视频 y 轴的坐标,取值范围0~1之间。
width 其他用户视频的宽度。
height 其他用户视频的高度。
zOrder 其他用户视频与主播视频的层级关系。1 代表在上层,0 代表在下层。上层会覆盖下层。
 
PublisherConfiguration

配置旁路直播推流接口的信息封装类。

属性解释:

名称 描述
mPushUrl 设置SDK的推流地址。
 
ScreenRecordConfig

屏幕录制/分享的信息封装类。

属性解释:

名称 描述
mRecordWidth 屏幕录制/分享的宽度。
mRecordHeight 屏幕录制/分享的高度。
mRecordBitRate 屏幕录制/分享的视频码率。
mRecordFrameRate 屏幕录制/分享的视频帧率。
mRecordIFrameInterval 设置录屏时视频的关键帧间隔,单位秒,默认值为1

函数说明

 
发生错误回调 (onError)
void onError(int errorCode)

表示 SDK 运行时出现了(网络或媒体相关的)错误。

名称 描述
err 错误码
错误码:
名称 错误码 原因描述
ERROR_ENTER_ROOM_INVALIDCHANNELNAME 1 被房主移出房间
ERROR_ENTER_ROOM_TIMEOUT 2 RTMP推流失败
ERROR_ENTER_ROOM_VERIFY_FAILED 3 服务器过载
ERROR_ENTER_ROOM_BAD_VERSION 4 房主已经离开房间
ERROR_ENTER_ROOM_CONNECT_FAILED 5 重复登录
ERROR_ENTER_ROOM_NOEXIST 6 长时间没有上行音频数据
ERROR_ENTER_ROOM_SERVER_VERIFY_FAILED 7 长时间没有上行视频数据
ERROR_ENTER_ROOM_UNKNOW 8 其他人以主播身份进入房间
 
加入频道回调 (onJoinChannelSuccess)
void onJoinChannelSuccess(String channel, long uid, int elapsed)

表示客户端已经成功进入指定房间。

名称 描述
channel 频道名称
uid 登录的用户ID
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间
 
离开频道回调 (onLeaveChannel)
public void onLeaveChannel( RtcStats stats )

应用程序调用 leaveChannel() 方法时,SDK 提示应用程序离开频道成功。在该回调方法中,应用程序可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

名称 描述
stats 通话相关的统计信息,详情看 RtcStats
 
用户角色切换回调 (onClientRoleChanged)
public void onClientRoleChanged(long userID, int userRole)

房间内某个用户调用 setClientRole() 接口切换角色时,会触发此回调。

名称 描述
userID 切换角色的用户ID
userRole 该用户切换的角色
 
用户被服务器请出当前房间 (onUserKicked)
public void onUserKicked(long uid, int reason)

用户被服务器请出当前房间。

名称 描述
uid 被请出房间的用户ID。
reason 被请出的原因。

错误码:

名称 错误码 原因描述
ERROR_KICK_BY_HOST 101 被房主移出房间
ERROR_KICK_BY_PUSHRTMPFAILED 102 RTMP推流失败
ERROR_KICK_BY_SERVEROVERLOAD 103 服务器过载
ERROR_KICK_BY_MASTER_EXIT 104 房主已经离开房间
ERROR_KICK_BY_RELOGIN 105 重复登录
ERROR_KICK_BY_NOAUDIODATA 106 长时间没有上行音频数据
ERROR_KICK_BY_NOVIDEODATA 107 长时间没有上行视频数据
ERROR_KICK_BY_NEWCHAIRENTER 108 其他人以主播身份进入房间
ERROR_TOKEN_EXPIRED 109 Token 失效了
 
其他用户加入当前频道 (onUserJoined)
public void onUserJoined(long uid, int identity, int elapsed)

其他用户加入当前频道。

名称 描述
uid 加入频道的用户ID。
reason 该用户当前的身份。
 
其他用户离开当前频道 (onUserOffline)
public void onUserOffline(int uid, int reason)

提示有主播离开了频道。

名称 描述
uid 离开频道的用户ID
reason 该用户离开频道的原因
 
连接丢失回调 (onConnectionLost)
public void onConnectionLost()

当网络异常断开后,SDK 和服务器失去了网络连接,并开始重连服务器。

 
连接真正断开回调 (onReconnectServerFailed)
public void onReconnectServerFailed()

当网络异常断开后,在尝试重连后,若在服务器容忍的超时范围外才重连上服务器,服务器将会拒绝,其房间状态将不可用,此时触发该回调
上层应该在收到此回调后退出房间

 
连接重连成功回调 (onReconnectServerSucceed)
public void onReconnectServerSucceed()

当网络异常断开后,将尝试重连,若重连成功则触发此回调。

 
token即将过期回调 (onTokenPrivilegeWillExpire)
public void onTokenPrivilegeWillExpire()

在调用joinChannel时如果指定了 token,由于 token 具有一定的时效,在通话过程中SDK可能由于网络原因和服务器失去连接,重连时可能需要新的 token。 该回调通知APP需要生成新的 token,并需调用 renewToken 为SDK指定新的 token。

 
Sei回调 (onSetSEI)
public void onSetSEI(String sei)

根据服务器返回的Sei,获得副播的显示信息。

名称 描述
sei 包含副播显示位置信息的json字符串
 
说话声音音量提示回调 (onAudioVolumeIndication)
void onAudioVolumeIndication(long nUserID,
                             int audioLevel,
                             int audioLevelFullRange)

提示谁在说话及其音量。默认禁用。可以通过 enableAudioVolumeIndication 方法设置。

名称 描述
nUserID 说话者的用户ID
audioLevel 说话者的音量,在0-9之间
audioLevelFullRange 说话者的音量,音量范围更大0-32767.5之间
 
远端音频第一帧解码回调 (onFirstAudioFrameDecoded)
void onAudioVolumeIndication(long uid)

远端音频第一帧解码回调。

名称 描述
uid 该解码所属的用户ID。
 
摄像头启用回调 (onCameraReady)
public void onCameraReady()

摄像头启用回调,提示已成功打开摄像头。

 
视频功能已停止回调 (onVideoStopped)
public void onVideoStopped()

提示视频功能已停止。应用程序如需在停止视频后对view做其他处理(例如显示其他画面),可以在这个回调中进行。

 
本地视频显示回调 (onFirstLocalVideoFrame)
public void onFirstLocalVideoFrame(int width, int height, int elapsed)

本地视频显示回调,提示第一帧本地视频画面已经显示在屏幕上

名称 描述
width 该用户视频显示的宽度
height 该用户视频显示的高度
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间
 
第一帧远程视频流解码成功回调 (onFirstRemoteVideoDecoded)
public void onFirstRemoteVideoDecoded(long uid, int width, int height, int elapsed)

收到第一帧远程视频流并解码成功时,触发此调用。应用程序可以在此回调中设置该用户的view

名称 描述
uid 加入频道的用户ID
width 视频流宽
height 视频流高
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间
 
远端视频第一帧视频已绘制的回调 (onFirstRemoteVideoFrame)
public void onFirstRemoteVideoFrame(long uid, int width, int height, int elapsed)

提示远端视频第一帧视频已绘制好并可以显示了。

名称 描述
uid 加入频道的用户ID。
width 该用户视频显示的宽度。
height 该用户视频显示的高度。
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间。
 
远程视频流第一帧已解码成功的回调 (onFirstRemoteVideoDecoded)
public void onFirstRemoteVideoDecoded(long uid, String devId, int width, int height, int elapsed)

远程视频流第一帧已解码成功的回调。该回调用于多流视频源。

名称 描述
uid 加入频道的用户ID。
devId 用户的视频设备ID。
width 该用户视频显示的宽度。
height 该用户视频显示的高度。
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间
 
远端视频第一帧视频已绘制的回调 (onFirstRemoteVideoFrame)
public void onFirstRemoteVideoFrame(long uid, String devId, int width, int height, int elapsed)

提示远端视频第一帧视频已绘制好并可以显示了。该回调用于多流视频源。

名称 描述
uid 加入频道的用户ID。
devId 用户的视频设备ID。
width 该用户视频显示的宽度。
height 该用户视频显示的高度。
elapsed 表示当前回调自加入房间起,到触发该回调所用的时间。
 
用户被主播静音回调(onSpeakingMuted)
public void onSpeakingMuted(long uid, boolean muted)

用户被主播静音回调。

名称 描述
uid 用户ID。
muted True: 该用户已被静音 False: 该用户已被取消静音。
 
用户静音回调 (onUserMuteAudio)
public void onUserMuteAudio(long uid, boolean muted)

用户静音回调。

名称 描述
uid 用户ID。
muted True: 该用户已静音音频 False: 该用户已取消音频静音。
 
用户启用/关闭了视频功能回调 (onUserEnableVideo)
public void onUserEnableVideo(long uid, boolean enabled)

提示有其他用户启用/关闭了视频功能。关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频。

名称 描述
uid 用户ID
enabled 启用/关闭了视频功能。
 
用户启用/关闭了视频功能回调 (onUserEnableVideo)
public void onUserEnableVideo(long uid, String devId, boolean enabled)

提示有其他用户启用/关闭了视频功能。关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频。该回调用于多流视频源。

名称 描述
uid 用户ID
devId 用户的视频设备ID
enabled 启用/关闭了视频功能。
 
语音路由已变更回调 (onAudioRouteChanged)
public void onAudioRouteChanged(int routing)

语音路由已变更回调。当调用 setEnableSpeakerphone 成功时,SDK会通过该回调通知App语音路由状态已发生变化。

名称 描述
routing 当前已切换的语言路由。
 
本地视频采集裸数据回调 (onLocalVideoFrameCaptured)
public void onLocalVideoFrameCaptured(TTTVideoFrame frame)

本地视频采集数据回调,RGBA 格式。

名称 描述
frame 视频裸数据封装类,详情看 TTTVideoFrame
 
远端裸视频数据回调 (onRemoteVideoFrameDecodedOfUid)
public void onRemoteVideoFrameDecodedOfUid(long uid, TTTVideoFrame mFrame)

远端裸视频数据回调。

名称 描述
uid 用户ID。
mFrame 视频裸数据封装类,详情看 TTTVideoFrame
 
远端裸视频数据回调 (onRemoteVideoFrameDecodedOfUid)
public void onRemoteVideoFrameDecodedOfUid(long uid, String devId, TTTVideoFrame mFrame)

远端裸视频数据回调。该回调用于多流视频源。

名称 描述
uid 用户ID。
devId 用户的视频设备ID。
mFrame 视频裸数据封装类,详情看 TTTVideoFrame
 
本地视频统计回调 (onLocalVideoStats)
public void onLocalVideoStats(LocalVideoStats stats)

本地视频统计回调,报告更新本地视频统计信息,该回调函数每两秒触发一次

名称 描述
stats 本地视频相关的统计信息,详情看 LocalVideoStats
 
远端视频统计回调 (onRemoteVideoStats)
public void onRemoteVideoStats(RemoteVideoStats stats)

远端视频统计回调,报告更新远端视频统计信息,该回调函数每两秒触发一次

名称 描述
stats 远端视频的统计信息,详情看 RemoteVideoStats
 
本地音频统计回调 (onLocalAudioStats)
public void onLocalAudioStats(LocalAudioStats stats)

本地音频统计回调,报告更新本地音频统计信息,该回调函数每两秒触发一次

名称 描述
stats 本地音频相关的统计信息,详情看 LocalAudioStats
 
远端音频统计回调 (onRemoteAudioStats)
public void onRemoteAudioStats(RemoteAudioStats stats)

远端音频统计回调,报告更新远端音频统计信息,该回调函数每两秒触发一次

名称 描述
stats 远端音频的统计信息,详情看 RemoteAudioStats
 
频道统计数据回调 (onRtcStats)
public void onRtcStats( RtcStats stats )

该回调定期上报 Rtc Engine 的运行时的状态,每两秒触发一次。

名称 描述
stats 频道相关的统计信息,详情看 RtcStats
 
本端音频采集数据回调 (onLocalAudioDataReport)
public byte[] onLocalAudioDataReport( byte[] data, int size, int sampleRate, int channels )

本端音频采集数据回调。

名称 描述
data PCM 数据。
size PCM 数据的长度。
sampleRate 音频数据的采样率。
channels 音频数据的声道数。
 
远端音频采集数据回调 (onRemoteAudioDataReport)
public byte[] onRemoteAudioDataReport( byte[] data, int size, int sampleRate, int channels )

远端音频采集数据回调。

名称 描述
data PCM 数据。
size PCM 数据的长度。
sampleRate 音频数据的采样率。
channels 音频数据的声道数。
 
伴奏播放完毕回调 (onAudioMixingPlayFinish)
public void onAudioMixingPlayFinish( )

伴奏播放完毕回调。

 
本地音效文件播放结束回调 (onAudioEffectFinished)
public void onAudioEffectFinished( int soundID )

本地音效文件播放结束回调。

名称 描述
soundID 音效的 ID 标识。
 
网络质量报告回调 (onLastmileQuality)
public void onLastmileQuality(int quality)

网络质量报告回调。

报告本地用户的网络质量。当你调用 enableLastmileTest 之后,该回调函数每 2 秒触发一次。

名称 描述
quality 网络质量等级。
uid 用户ID

网络质量等级等级,在 Constants 常量类中定义,划分为:

名称 描述
TTT_NETWORK_QUALITY_EXCELLENT 网络质量极好。
TTT_NETWORK_QUALITY_GOOOD 网络质量较好。
TTT_NETWORK_QUALITY_COMMON 网络质量一般。
TTT_NETWORK_QUALITY_POOR 网络质量较差。
TTT_NETWORK_QUALITY_BAD 网络质量很差。
TTT_NETWORK_QUALITY_DWON 网络断开。
 
用户启用/禁用双流模式回调 (onDualSteamModeEnabled)
public void onDualSteamModeEnabled(long uid, boolean isEnable)

若用户调用接口 enableDualStreamMode 启用/禁用了双流模式,则会触发该回调。

名称 描述
uid 用户 ID。
isEnable true代表启用双流功能,false代表禁用双流功能。
 
用户进房间时推流是否成功的回调 (onRtcPushStatus)
public void onRtcPushStatus(String url, boolean status)

提示用户进房间推流是否成功。

名称 描述
url 推流的地址。
status 推流的状态。true 代表推流成功,false 代表推流失败。
 
本地音频录音完成通知 (onAudioRecordFinish)
public void onAudioRecordFinish()

本地音频录音完成通知。对应的接口是 startAudioRecording(开始本地音频录音)。

 
网络连接状态发生改变 (onConnectionChangedToState)
public void onConnectionChangedToState(int status)

网络连接状态发生改变。

名称 描述
status 当前网络连接状态。

网络连接状态等级,在 Constants 常量类中定义,划分为:

名称 描述
TTT_CS_DISCONNECTED 未加入房间,加入房间失败后,或者离开房间之后。
TTT_CS_CONNECTING 加入房间正在建立网络连接。
TTT_CS_CONNECTED 网络连接建立成功。
TTT_CS_RECONNECTING 网络连接重连中。
TTT_CS_FAILED 网络连接失败。
TTT_NETWORK_QUALITY_DWON 网络断开。
 
获取本地录制和播放音频混音后的裸数据 (onMixedAudioFrame)
public byte[] onMixedAudioFrame(byte[] data, int size, int sampleRate, int channels);

获取本地录制和播放音频混音后的裸数据。

名称 描述
data pcm数据数组
size 数据长度
sampleRate 采样率
channels 声道数
 
接收歌词信息 (onReceiveAudioLyric)
void onReceiveAudioLyric(long uid, String lyric)

获取本地录制和播放音频混音后的裸数据。

名称 描述
uid 发送歌词的用户ID
lyric 歌词内容

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

API错误码

静态 Public 属性

static final int  ERROR_ENTER_ROOM_INVALIDCHANNELNAME = Constants. ERROR_ENTER_ROOM_INVALIDCHANNELNAME
static final int  ERROR_ENTER_ROOM_TIMEOUT = Constants. ERROR_ENTER_ROOM_TIMEOUT
static final int  ERROR_ENTER_ROOM_VERIFY_FAILED = Constants. ERROR_ENTER_ROOM_VERIFY_FAILED
static final int  ERROR_ENTER_ROOM_BAD_VERSION = Constants. ERROR_ENTER_ROOM_BAD_VERSION
static final int  ERROR_ENTER_ROOM_CONNECT_FAILED = Constants. ERROR_ENTER_ROOM_CONNECT_FAILED
static final int  ERROR_ENTER_ROOM_NOEXIST = Constants. ERROR_ENTER_ROOM_NOEXIST
static final int  ERROR_ENTER_ROOM_SERVER_VERIFY_FAILED = Constants. ERROR_ENTER_ROOM_SERVER_VERIFY_FAILED
static final int  ERROR_ENTER_ROOM_UNKNOW = Constants. ERROR_ENTER_ROOM_UNKNOW
static final int  ERROR_KICK_BY_HOST = Constants. ERROR_KICK_BY_HOST
static final int  ERROR_KICK_BY_PUSHRTMPFAILED = Constants.ERROR_KICK_BY_PUSHRTMPFAILED
static final int  ERROR_KICK_BY_SERVEROVERLOAD = Constants. ERROR_KICK_BY_SERVEROVERLOAD
static final int  ERROR_KICK_BY_MASTER_EXIT = Constants. ERROR_KICK_BY_MASTER_EXIT
static final int  ERROR_KICK_BY_RELOGIN = Constants. ERROR_KICK_BY_RELOGIN
static final int  ERROR_KICK_BY_NOAUDIODATA = Constants. ERROR_KICK_BY_NOAUDIODATA
static final int  ERROR_KICK_BY_NOVIDEODATA = Constants. ERROR_KICK_BY_NOVIDEODATA
static final int  ERROR_KICK_BY_NEWCHAIRENTER = Constants. ERROR_KICK_BY_NEWCHAIRENTER
static final int  ERROR_TOKEN_EXPIRED = Constants. ERROR_TOKEN_EXPIRED

详细描述

错误码均在类 Constants 中。

类成员变量说明

 
ERROR_ENTER_ROOM_INVALIDCHANNELNAME

进入直播,通信或游戏房间时所填的房间名不符合数字格式,本地检测。


 
ERROR_ENTER_ROOM_TIMEOUT

进入直播,通信或游戏房间超时,10秒未收到服务器返回结果,本地检测。


 
ERROR_ENTER_ROOM_VERIFY_FAILED

进入直播,通信或游戏房间时,token 验证发送错误。


 
ERROR_ENTER_ROOM_BAD_VERSION

进入直播,通信或游戏房间所用的版本是错误的。


 
ERROR_ENTER_ROOM_CONNECT_FAILED

因网络状况,SDK 无法连接服务器。


 
ERROR_ENTER_ROOM_NOEXIST

进入直播,通信或游戏房间时,该房间不存在。


 
ERROR_ENTER_ROOM_SERVER_VERIFY_FAILED

进入直播,通信或游戏房间时,服务器验证错误。


 
ERROR_ENTER_ROOM_UNKNOW

进入直播,通信或游戏房间失败,服务器返回的错误未知。


 
ERROR_KICK_BY_HOST

被房主移出房间。(主播不会收到)


 
ERROR_KICK_BY_PUSHRTMPFAILED

RTMP推流失败,是SDK本地编码器或推流模块出现异常,连续40秒检测。(观众不会收到)


 
ERROR_KICK_BY_SERVEROVERLOAD

服务器过载。


 
ERROR_KICK_BY_MASTER_EXIT

在直播模式下,房主离开了房间。(主播不会收到)


 
ERROR_KICK_BY_RELOGIN

用户在其他设备上登录了别的房间或当前房间,重复登录。


 
ERROR_KICK_BY_NOAUDIODATA

流媒体服务器连续40秒检测没有收到音频数据。(观众不会收到)


 
ERROR_KICK_BY_NOVIDEODATA

流媒体服务器连续40秒检测没有收到视频数据。(观众不会收到)


 
ERROR_KICK_BY_NEWCHAIRENTER

其他人以主播身份进入房间。(主播不会收到)。


 
ERROR_TOKEN_EXPIRED

房间所用的 token 已无效。