KRTCSDK-核心接口

函数

int init (KRtcCallback callback)
 
void Login (LoginParam param)
 
void Logout ()
 
int renewToken (String token)
 
void JoinRoom (JoinRoomParam param)
 
void leaveRoom ()
 
void replyCall (boolean answerOrHanup, String roomId)
 
int startLocalPreview (GLSurfaceView view)
 
void stopLocalPreview ()
 
int setMirrorMode (GLSurfaceView displayWindowId, boolean mirror)
 
void publishMainVideoStream (int mediaIndex)
 
void publishDualVideoStream ()
 
void publishAudioStream ()
 
void setMainVideoStreamParam (MainVideoStreamParam param)
 
void setDualVideoStreamParam (DualVideoStreamParam param)
 
void subscribeStream (String userId, SubscribeStreamParam param, GLSurfaceView holder)
 
void updateStreamLayer (String userid, STREAM_TYPE type, int mediaIndex, int layerIndex)
 
void unpublishStream (STREAM_TYPE type, int mediaIndex)
 
void unsubscribeStream (String userid, STREAM_TYPE type, int mediaIndex)
 
int setPauseImage (ImageBuffer image)
 
void pausePublishStream (STREAM_TYPE type, int mediaIndex, boolean pauseOrResume)
 
void pauseSubscribeStream (String userId, STREAM_TYPE type, int mediaIndex, boolean pauseOrResume)
 
void requestKeyFrame (String userId, STREAM_TYPE type, int mediaIndex)
 
void enableAudioLevelIndication (int interval)
 
int sendVideoFrameData (STREAM_TYPE type, int mediaIndex, VideoFrameData data)
 
int sendAudioFrameData (AudioFrameData data)
 
int sendEncodedVideoData (STREAM_TYPE type, int mediaIndex, int layerIndex, EncodedVideoData data)
 
void enableLocalAudioCallback (boolean enable, int channelCount, int sampleRate)
 
void enableRemoteAudioCallback (boolean enable, int channelCount, int sampleRate)
 
void enableRemoteMixedAudioCallback (boolean enable, int channelCount, int sampleRate)
 
void setAudioDeviceCapability (AudioDeviceCapability micCapability)
 
void snapshotVideo (String userId, STREAM_TYPE type, int mediaIndex)
 
void setAudioControlPlayoutMute (boolean playoutMute)
 
void setAudioControlRecordMute (boolean recordMute)
 
int doDestroy ()
 
int doDestroySubscribeView ()
 

详细描述

KRtcClient是SDK的核心方法类,包括登录,入会,开启音视频。

函数说明

◆ doDestroy()

int doDestroy ( )

销毁KrtcClient实例对象。

返回
0:成功 -1:参数错误
注解
尽量在应用销毁前调用。

◆ doDestroySubscribeView()

int doDestroySubscribeView ( )

销毁底层的窗口引用

返回
0:成功 -1: 失败
注解
在离开房间后统一销毁使用,防止内存泄露。

◆ enableAudioLevelIndication()

void enableAudioLevelIndication ( int  interval)

设置远端用户音频能量回调

参数
interval音频能量回调间隔
注解
最小间隔为100ms,设0表示关闭回调,建议设置为300ms
设置远端用户音频能量回调,将在onAudioLevelIndication回调事件中收到

◆ enableLocalAudioCallback()

void enableLocalAudioCallback ( boolean  enable,
int  channelCount,
int  sampleRate 
)

启用或关闭本地采集音频回调(PCM格式)

参数
enabletrue:开启 false:关闭
channelCount1代表单声道,2代表双声道
sampleRate音频采样率

◆ enableRemoteAudioCallback()

void enableRemoteAudioCallback ( boolean  enable,
int  channelCount,
int  sampleRate 
)

启用或关闭远端每一路音频数据回调(PCM格式)

参数
enabletrue:开启 false:关闭
channelCount1代表单声道,2代表双声道
sampleRate音频采样率

◆ enableRemoteMixedAudioCallback()

void enableRemoteMixedAudioCallback ( boolean  enable,
int  channelCount,
int  sampleRate 
)

启用或关闭远端混音后音频数据回调(PCM格式)

参数
enabletrue:开启 false:关闭
channelCount1代表单声道,2代表双声道
sampleRate音频采样率

◆ init()

int init ( KRtcCallback  callback)

初始化回调函数实例

参数
callback初始化回调接口,用于接收SDK的事件响应。
返回
0:成功 -1:参数错误
注解
若多实例情况需要分别初始化多个回调接口。

◆ JoinRoom()

void JoinRoom ( JoinRoomParam  param)

加入房间

参数
param加入房间参数
注解
加入房间成功或失败的消息,将在onJoinRoom回调事件中收到。

◆ leaveRoom()

void leaveRoom ( )

离开房间

注解
离开房间成功或失败的消息,将在onLeaveRoom回调事件中收到。

◆ Login()

void Login ( LoginParam  param)

登录平台

参数
param登录参数
注解
登录成功或失败的消息,将在onLogin回调事件中收到。

◆ Logout()

void Logout ( )

登出平台

注解
登出成功或失败的消息,将在onLogout回调事件中收到。

◆ pausePublishStream()

void pausePublishStream ( STREAM_TYPE  type,
int  mediaIndex,
boolean  pauseOrResume 
)

暂停、恢复发布码流(只影响本地)

参数
type码流类型
mediaIndex码流索引,音频和辅流填0即可
pauseOrResumetrue:暂停 false:恢复
注解
暂停、恢复发布码流成功或失败消息,将在onPausePublishStream回调事件中收到。

◆ pauseSubscribeStream()

void pauseSubscribeStream ( String  userId,
STREAM_TYPE  type,
int  mediaIndex,
boolean  pauseOrResume 
)

暂停、恢复发布(将通知平台暂停发送码流)

参数
userId远端用户id
type码流类型
mediaIndex码流索引,音频和辅流填0即可
pauseOrResumetrue:暂停 false:恢复
注解
暂停,恢复订阅码流成功或失败的消息,将在onPauseSubscribeStream回调事件中收到。

◆ publishAudioStream()

void publishAudioStream ( )

发布音频流

注解
发布音频流成功或失败的消息,将在onPublishStream回调事件中收到。

◆ publishDualVideoStream()

void publishDualVideoStream ( )

发布辅视频流

注解
Android API 不能低于21

◆ publishMainVideoStream()

void publishMainVideoStream ( int  mediaIndex)

发布主视频流

参数
mediaIndex发布多条主流时每个视频源的索引号
注解
发布主视频流成功或失败的消息,将在onPublishStream回调事件中收到。

◆ renewToken()

int renewToken ( String  token)

更新Token

参数
token新的 Token
返回
0:成功 -1:参数错误

◆ replyCall()

void replyCall ( boolean  answerOrHanup,
String  roomId 
)

响应平台呼叫

参数
answerOrHanuptrue:应答 false:挂断
roomId房间id

◆ requestKeyFrame()

void requestKeyFrame ( String  userId,
STREAM_TYPE  type,
int  mediaIndex 
)

手动请求关键帧

参数
userId远端用户id
type码流类型
mediaIndex码流索引,音频和辅流填0即可
注解
手动请求关键帧成功或失败的消息,将在onRequestKeyFrame回调事件中收到。

◆ sendAudioFrameData()

int sendAudioFrameData ( AudioFrameData  data)

发送音频数据

参数
data音频帧数据(PCM格式)
返回
0:成功 -1:参数错误
注解
需要先调用 enableCustomAudioCapture 启用自定义音频采集
发送音频数据成功或失败的消息,将在onRemoteAudioFrame回调事件中收到

◆ sendEncodedVideoData()

int sendEncodedVideoData ( STREAM_TYPE  type,
int  mediaIndex,
int  layerIndex,
EncodedVideoData  data 
)

发送编码后的视频数据

参数
type码流类型
mediaIndex码流索引,音频和辅流填0即可
layerIndex分辨率层
data编码后的视频数据
返回
0:成功 -1:参数错误
注解
需要先调用 enableCustomVideoEncode 启用自定义视频编码
发送编码后的视频数据成功或失败的消息,将在onRemoteVideoData回调事件中收到

◆ sendVideoFrameData()

int sendVideoFrameData ( STREAM_TYPE  type,
int  mediaIndex,
VideoFrameData  data 
)

发送视频帧数据

参数
type码流类型
mediaIndex码流索引,辅流填0即可
data帧数据(YUV420格式)
返回
0:成功 -1:参数错误
注解
需要先调用 enableCustomVideoCapture 启用自定义视频采集

◆ setAudioControlPlayoutMute()

void setAudioControlPlayoutMute ( boolean  playoutMute)

设置终端静音状态

参数
playoutMutetrue为静音

◆ setAudioControlRecordMute()

void setAudioControlRecordMute ( boolean  recordMute)

设置终端哑音状态

参数
recordMutetrue为哑音

◆ setAudioDeviceCapability()

void setAudioDeviceCapability ( AudioDeviceCapability  micCapability)

设置音频设备能力

参数
micCapability麦克风设备能力
注解
仅启用自定义音频采集时需设置

◆ setDualVideoStreamParam()

void setDualVideoStreamParam ( DualVideoStreamParam  param)

自定义辅视频流参数

参数
param发布辅流参数
注解
需要在发布辅流之前调用

◆ setMainVideoStreamParam()

void setMainVideoStreamParam ( MainVideoStreamParam  param)

自定义主视频流参数

参数
param发布主流参数
注解
需要在发布主流之前调用
例如:分辨率设置1280*720,MainVideoStreamParam{1,分辨率,30,2048*1024*0.6,0}

◆ setMirrorMode()

int setMirrorMode ( GLSurfaceView  displayWindowId,
boolean  mirror 
)

设置预览图像时的镜像模式

参数
displayWindowId回显窗口id
mirrortrue:镜像显示 false:取消镜像显示
返回
0:成功 -1:参数错误

◆ setPauseImage()

int setPauseImage ( ImageBuffer  image)

设置暂停发布主流时的静态图像(暂停流时远端将显示静态图像,不设置则远端显示黑屏)

参数
image图像缓存(BGRA格式)
返回
0:成功 -1:参数错误

◆ snapshotVideo()

void snapshotVideo ( String  userId,
STREAM_TYPE  type,
int  mediaIndex 
)

设置截图事件的抽象接口

参数
userId用户id
type码流类型(主流,辅流,画面合成)
mediaIndex视频源索引号
注解
仅在未开启自定义采集的时候有效

◆ startLocalPreview()

int startLocalPreview ( GLSurfaceView  view)

开启本地预览

参数
view需要渲染的窗口,
返回
0:成功 -1:摄像头开启失败
注解
必须动态创建GLSurfaceView

◆ stopLocalPreview()

void stopLocalPreview ( )

停止本地预览

◆ subscribeStream()

void subscribeStream ( String  userId,
SubscribeStreamParam  param,
GLSurfaceView  holder 
)

订阅远端用户码流

参数
userId远端用户id 订阅合成器时无需此参数
param订阅流参数
holder本地回显窗口id,不需要可以设置为null
注解
订阅码流成功或失败的消息,将在onSubscribeStream回调事件中收到。
必须动态创建GLSurfaceView

◆ unpublishStream()

void unpublishStream ( STREAM_TYPE  type,
int  mediaIndex 
)

停止发布码流

参数
type码流类型
mediaIndex码流索引,音频及辅流填0即可
注解
停止发布码流成功或失败消息,将在onUpdateStreamLayer回调事件中收到。

◆ unsubscribeStream()

void unsubscribeStream ( String  userid,
STREAM_TYPE  type,
int  mediaIndex 
)

取消订阅

参数
userid远端用户id
type码流类型
mediaIndex码流索引
注解
停止订阅码流成功或失败消息,将在onUnsubscribeStream回调事件中收到。

◆ updateStreamLayer()

void updateStreamLayer ( String  userid,
STREAM_TYPE  type,
int  mediaIndex,
int  layerIndex 
)

设置订阅码流的优选分辨率层

参数
userid用户id
type码流类型
mediaIndex码流索引
layerIndex分辨率层
注解
仅支持主流订阅, 设置订阅码流的优选分辨率成功或失败消息,将在onUpdateStreamLayer回调事件中收到。