JRTC Java API Reference for Android 4.0.3
| Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.juphoon.cloud.jrtc.JRTCEngine类 参考abstract

被 com.juphoon.cloud.jrtc.JRTCEngineImpl 继承.

interface  CameraType
 
class  JRTCEngineConfig
 
interface  MediaChannelState
 
interface  MirrorType
 
class  ScreenShareParam
 
interface  VideoSourceType
 

Public 成员函数

abstract void destroy ()
 
abstract String getSdkVersion ()
 
abstract int setMediaConfig (JRTCMediaConfig config)
 
abstract JRTCMediaDeviceCamera getCamera ()
 
abstract List< JRTCMediaDeviceCameragetAllCameras ()
 
abstract int switchCamera (JRTCMediaDeviceCamera camera)
 
abstract int enableAudioOutput (String channelId, boolean enable)
 
abstract int enableSpeaker (boolean enable)
 
abstract int setCameraFocus (float xPercent, float yPercent)
 
abstract int getCameraMaxZoom ()
 
abstract int setCameraZoom (int zoom)
 
abstract boolean isCameraTorchSupported ()
 
abstract int setCameraTorchOn (boolean enable)
 
abstract int setCameraExposureLevel (int level)
 
abstract int getAudioRoute ()
 
abstract int joinChannel (@NonNull String channelId, @NonNull String uid, @Nullable String token, @Nullable JRTCChannelConfig channelConfig)
 
abstract int leaveChannel (String channelId)
 
abstract JRTCVideoCanvas startLocalVideoDevice (JRTCMediaDeviceCamera camera, @RenderType int renderType, boolean play)
 
abstract int publishLocalAudioStream (String channelId, boolean publish)
 
abstract int publishLocalVideoStream (String channelId, boolean publish)
 
abstract int playRemoteAudioStream (String channelId, String uid, boolean play)
 
abstract JRTCVideoCanvas playRemoteVideoStream (String channelId, String uid, boolean play, @PictureSize int pictureSize, @RenderType int renderType)
 
abstract int muteLocalAudioStream (String channelId, boolean mute)
 
abstract int muteLocalVideoStream (String channelId, boolean mute)
 
abstract String getStatistics (String channelId)
 获取频道的统计信息 更多...
 
abstract int sendMessage (String channelId, String content, String toUserId)
 
abstract int enableScreenShare (String channelId, boolean enable, ScreenShareParam screenShareParam)
 
abstract JRTCVideoCanvas startScreenShareVideo (String channelId, @RenderType int renderType, @PictureSize int pictureSize, boolean play)
 
abstract int uploadLog (String reason)
 
abstract void info (String type, String format, Object... args)
 
abstract void error (String type, String format, Object... args)
 
abstract void debug (String type, String format, Object... args)
 
abstract int getNetType ()
 
abstract boolean hasNet ()
 
abstract JRTCAdvanced getAdvanced ()
 
abstract void setAudioFrameCallback (JRTCAudioFrameCallback callback)
 
abstract void setVideoFrameCallback (JRTCVideoFrameCallback callback)
 

静态 Public 成员函数

static JRTCEngine createEngine (@NonNull Context context, @NonNull String appKey, @NonNull JRTCEventHandler handler, @Nullable JRTCEngineConfig config)
 

静态 Public 属性

static final int LOG_LEVEL_DISABLE = 0
 
static final int LOG_LEVEL_ERROR = 1
 
static final int LOG_LEVEL_INFO = 2
 
static final int LOG_LEVEL_DEBUG = 3
 
static final int AUDIO_ROUTE_RECEIVER = 0
 
static final int AUDIO_ROUTE_SPEAKER = 1
 
static final int AUDIO_ROUTE_HEADSET = 2
 
static final int AUDIO_ROUTE_BLUETOOTH = 3
 
static final int RENDER_FULL_SCREEN = 0
 
static final int RENDER_FULL_CONTENT = 1
 
static final int RENDER_FULL_AUTO = 2
 
static final int PICTURESIZE_NONE = 0
 
static final int PICTURESIZE_MIN = 1
 
static final int PICTURESIZE_SMALL = 2
 
static final int PICTURESIZE_LARGE = 3
 
static final int PICTURESIZE_MAX = 4
 
static final int UNAVAILABLE = 0
 
static final int WIFI = 1
 
static final int MOBILE = 2
 
static final int ETHERNET = 3
 
static final int UNKNOWN = 4
 
static final int STATE_IDLE = 0
 
static final int STATE_JOINING = 1
 
static final int STATE_JOINED = 2
 
static final int STATE_LEAVING = 3
 
static final int PARTICIPANT_TYPE_NORMAL = 0
 
static final int PARTICIPANT_TYPE_PSTN = 1
 
static final int PARTICIPANT_TYPE_WEBRTC = 2
 
static final int PARTICIPANT_TYPE_IRC = 3
 
static final int VOLUME_STATUS_ZERO = 0
 
static final int VOLUME_STATUS_LOW = 1
 
static final int VOLUME_STATUS_MID = 2
 
static final int VOLUME_STATUS_HIGH = 3
 
static final int VOLUME_STATUS_TOO_HIGH = 4
 
static final int NET_STATUS_DISCONNECTED = 0
 
static final int NET_STATUS_VERY_BAD = 1
 
static final int NET_STATUS_BAD = 2
 
static final int NET_STATUS_NORMAL = 3
 
static final int NET_STATUS_GOOD = 4
 
static final int NET_STATUS_VERY_GOOD = 5
 
static final int MAX_RESOLUTION_360p = 0
 
static final int MAX_RESOLUTION_720p = 1
 
static final int MAX_RESOLUTION_1080p = 2
 
static final int MIRROR_NONE = 0
 
static final int MIRROR_HORIZONTAL = 1
 
static final int MIRROR_VERTICAL = 2
 
static final int MIRROR_AUTO = 3
 
static final int MIRROR_FLIP_FROM_LEFT = 4
 
static final int MIRROR_FLIP_FROM_TOP = 8
 
static final int VIDEO_SOURCE_PEER = 0
 
static final int VIDEO_SOURCE_CAPTURE = 1
 
static final int VIDEO_SOURCE_FILE = 2
 
static final int CAMERA_NONE = 0
 
static final int CAMERA_FRONT = 1
 
static final int CAMERA_BACK = 2
 
static final int CAMERA_UNKNOWN = 3
 
static final int CAMERA_EXTERAL = 4
 

详细描述

JRTC SDK 的核心接口类,实现实时音视频的主要功能。

成员函数说明

◆ createEngine()

static JRTCEngine com.juphoon.cloud.jrtc.JRTCEngine.createEngine ( @NonNull Context  context,
@NonNull String  appKey,
@NonNull JRTCEventHandler  handler,
@Nullable JRTCEngineConfig  config 
)
inlinestatic

创建 JRTCEngine 对象

JRTCEngine 的所有接口函数,如无特殊说明,都建议在主线程调用

参数
context上下文句柄
appKey项目的 App Key。同一个 App Key 项目下,不同终端加入同一个频道,可以实现频道内音视频通话。如需更换 App Key,必须先调用 destroy 销毁当前 JRTCEngine 再重新创建。
handlerJRTCEngine的事件句柄。
config初始化参数,详细定义见 JRTCEngineConfig。传 null 则使用默认值
返回
JRTCEngine 对象。初始化SDK结果通过 onClientInitResult 方法通知
异常
context、appKey、handler 任意参数传空就会抛出异常
注解
- 请确保在调用其他 API 前先调用该方法创建并初始化 JRTCEngine 对象,并且收到初始化成功的回调 onClientInitResult
  • 调用此方法创建 JRTCEngine 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JRTCEngine 对象

◆ destroy()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.destroy ( )
abstract

销毁 JRTCEngine 对象

该方法为同步调用,需要等待 destroy 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JRTC 的其它方法和回调。
此外,我们 不建议JRTCEventHandler 的回调中调用此方法销毁对象,有可能会出现崩溃。
如需在销毁后再次创建 JRTCEngine 实例,需要等待 destroy 方法执行结束后再创建实例。

◆ getSdkVersion()

abstract String com.juphoon.cloud.jrtc.JRTCEngine.getSdkVersion ( )
abstract

获取当前SDK的版本号

返回
当前SDK的版本号

◆ setMediaConfig()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.setMediaConfig ( JRTCMediaConfig  config)
abstract

设置媒体配置

参数
config媒体配置参数,详细定义见 JRTCMediaConfig
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ getCamera()

abstract JRTCMediaDeviceCamera com.juphoon.cloud.jrtc.JRTCEngine.getCamera ( )
abstract

获取当前已打开的摄像头或者默认摄像头

返回
JRTCMediaDeviceCamera 对象,当前已打开的摄像头或者默认摄像头

◆ getAllCameras()

abstract List< JRTCMediaDeviceCamera > com.juphoon.cloud.jrtc.JRTCEngine.getAllCameras ( )
abstract

获取所有的摄像头列表

返回
JRTCMediaDeviceCamera 对象的集合,当前的所有摄像头列表

◆ switchCamera()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.switchCamera ( JRTCMediaDeviceCamera  camera)
abstract

切换摄像头

通过此接口切换到指定的摄像头

参数
cameraJRTCMediaDeviceCamera 对象
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ enableAudioOutput()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.enableAudioOutput ( String  channelId,
boolean  enable 
)
abstract

开启/关闭音频输出

参数
channelId频道标识符
enable开启/关闭音频输出
  • true: 开启音频输出
  • false: 关闭音频输出
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ enableSpeaker()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.enableSpeaker ( boolean  enable)
abstract

开启/关闭扬声器

只有在音频已经启动的情况下调用才会生效

参数
enable开启或者关闭扬声器
  • true: 开启
  • false: 关闭
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ setCameraFocus()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.setCameraFocus ( float  xPercent,
float  yPercent 
)
abstract

设置触屏对焦

调用此方法时需要保证该视频对象正在渲染,否则将调用失败

参数
xPercent焦点所在渲染视图 x 轴的比例,取值范围 0-1
yPercent焦点所在渲染视图 y 轴的比例,取值范围 0-1
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ getCameraMaxZoom()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.getCameraMaxZoom ( )
abstract

获取摄像头最大缩放级别

调用此方法时要保证摄像头已打开,否则将直接返回 -1

返回
镜头的最大焦距
  • 返回小于0, 表示不支持变焦

◆ setCameraZoom()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.setCameraZoom ( int  zoom)
abstract

设置摄像头缩放级别

调用此方法时要保证摄像头已打开,否则将直接返回失败

参数
zoom摄像头变焦倍数
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ isCameraTorchSupported()

abstract boolean com.juphoon.cloud.jrtc.JRTCEngine.isCameraTorchSupported ( )
abstract

查询摄像头是否支持闪光灯

返回
返回查询结果
  • true: 支持
  • false:不支持

◆ setCameraTorchOn()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.setCameraTorchOn ( boolean  enable)
abstract

设置是否打开闪光灯

参数
enable是否打开闪光灯
  • true: 开启
  • false:关闭
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ setCameraExposureLevel()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.setCameraExposureLevel ( int  level)
abstract

设置手动曝光度

参数
level曝光补偿步长
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ getAudioRoute()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.getAudioRoute ( )
abstract

获取音频路由类型

返回
音频路由类型:

◆ joinChannel()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.joinChannel ( @NonNull String  channelId,
@NonNull String  uid,
@Nullable String  token,
@Nullable JRTCChannelConfig  channelConfig 
)
abstract

加入频道

初始化成功后可以通过此方法加入通话频道,在同一个频道内的用户可以互相通话

参数
channelId频道标识符,不能为空。
uid用户标识符,不能为空。
token密码,长度不能超过 128 字符。免鉴权模式密码可以输入null 或 "",Token 鉴权模式密码需要输入外部生成的 Token
channelConfig频道配置参数,详细定义见 JRTCChannelConfig。传 null 则使用默认值
返回
调用是否成功
  • 0:正常执行调用流程,加入结果通过 onSelfJoined 方法通知
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ leaveChannel()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.leaveChannel ( String  channelId)
abstract

离开频道

参数
channelId频道标识符,不能为空。
返回
调用是否成功
  • 0:正常执行调用流程,加入结果通过 onSelfLeft 方法通知
  • >0:调用失败,参见:JRTCErrorCode 错误码
注解
该接口需要在自己成功加入频道后才能调用

◆ startLocalVideoDevice()

abstract JRTCVideoCanvas com.juphoon.cloud.jrtc.JRTCEngine.startLocalVideoDevice ( JRTCMediaDeviceCamera  camera,
@RenderType int  renderType,
boolean  play 
)
abstract

启动视频模块,开启本地视频采集并渲染

参数
cameraJRTCMediaDeviceCamera 对象
renderType渲染方式
play是否开始视频渲染
  • true: 开始渲染
  • false: 停止渲染
返回
JRTCVideoCanvas 本地预览的视频对象

◆ publishLocalAudioStream()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.publishLocalAudioStream ( String  channelId,
boolean  publish 
)
abstract

开启或关闭发送本地音频流

参数
channelId频道标识符
publish是否开始发送本地音频流
  • true: 开始发送
  • false: 停止发送
返回
调用是否成功

◆ publishLocalVideoStream()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.publishLocalVideoStream ( String  channelId,
boolean  publish 
)
abstract

开启或关闭发送本地视频流

参数
channelId频道标识符
publish是否开始发送本地视频流
  • true: 开始发送
  • false: 停止发送
返回
调用是否成功

◆ playRemoteAudioStream()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.playRemoteAudioStream ( String  channelId,
String  uid,
boolean  play 
)
abstract

订阅或取消订阅指定用户音频,并播放,默认订阅远端音频

参数
channelId频道标识符
uid指定用户的标识符
play是否播放音频
  • true: 播放
  • false: 停止播放
返回
调用是否成功
  • 0:正常执行调用流程,通过 onUserUpdate 方法通知状态变化
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ playRemoteVideoStream()

abstract JRTCVideoCanvas com.juphoon.cloud.jrtc.JRTCEngine.playRemoteVideoStream ( String  channelId,
String  uid,
boolean  play,
@PictureSize int  pictureSize,
@RenderType int  renderType 
)
abstract

开始或停止渲染指定用户的视频,默认不订阅远端视频

参数
channelId频道标识符
uid指定用户的标识符
play是否渲染视频
  • true: 渲染
  • false: 停止渲染
pictureSize视频图像尺寸等级
renderType渲染方式
返回
JRTCVideoCanvas 指定用户的视频对象

◆ muteLocalAudioStream()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.muteLocalAudioStream ( String  channelId,
boolean  mute 
)
abstract

是否发送静音包

参数
channelId频道标识符
mute是否静音
  • true: 静音,发送静音包
  • false: 取消静音,发送正常语音包
返回
调用是否成功

◆ muteLocalVideoStream()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.muteLocalVideoStream ( String  channelId,
boolean  mute 
)
abstract

是否停止发送本地视频流

参数
channelId频道标识符
mute是否停止发送
  • true: 不发送本地视频包
  • false: 发送本地视频包
返回
调用是否成功

◆ getStatistics()

abstract String com.juphoon.cloud.jrtc.JRTCEngine.getStatistics ( String  channelId)
abstract

获取频道的统计信息

参数
channelId频道标识符
返回
统计信息
注解
该接口需要在成功加入频道后才能调用

以 JSON 字符串形式返回,其中包含 "Config"、"Network"、"Transport"、"Participants" 4个键值,示例如下:

{
"Config": "Video Config: SRTP:off Codec:H264-SVC Payload:125 Bitrate:1000 Framerate:24 Resolution:640x352 FEC:on|124|123 FIR:off Key Interval:0 Repeat:0 NACK:off RTX:off TMMBR:off RPSI:off Small NALU:on ARS:off BR Min:10 BR Max:2000 FR Min:1 FR Max:30 Res. Ctrl:off Res. Mode:0 Fr Ctrl:off CPU Load Ctrl:off Target:80 Bw Efficient:off Error Conceal:off Enhance color:off Boost bright:off Boost contrast:off RTP Ext:CVO Render Name:N/A",
"Network": "Server(-176574541330799):4466(1): BWE(4592|1231) IN(A:0;)",
"Transport": "Local: 100.306884891:44795 Remote: 120:14243 LastPaths: 120,120Path: 120 [tcp] Step1:Delay/Loss(S/R): 55/0/0 Cost: 65** (best: 40)Path: 151 [udp] Step1:Delay/Loss(S/R): 43/0/0 Cost: 132Path: 105 [tcp] Step1:Delay/Loss(S/R): 55/0/0 Cost: 142Path: 100 [tcp] Step1:Delay/Loss(S/R): 43/0/0 Cost: 144",
"Participants": [{
"4466": "Video Sending Stats: Packets:0 Capture Fr:24 FPS/IDR:0/0 Resolution:640x352[0|0|0] Bitrate/Setrate:0/1000 QP:0 FecPrecent:20Be Subscribed Stats: Audio:true Video:[0|0|0|0] Screen:[0|0|0|0]"
}]
}

1.实时统计解释

I) Sent Statistics: 发送数据

  • Packets: 发送的数据包的个数。
    • 如果为0,或者几秒内都是个位数,则表示摄像头可能打开失败;对面看不到这边的图像
    • 没有持续增加: 发送出错,或内部未知错误
  • Lost: 丢失的数据包的个数。
    • 连续增加: 网络太差,或存在网络模拟器
  • Lost Ratio: 当前的丢包率,单位百分比。
    • 10以上: 网络太差,或存在网络模拟器
  • Jitter: 网络的扰动,表征数据包乱序的时间,单位毫秒。
    • 80以上: 网络太差,或存在网络模拟器
  • FPS: 当前发送的帧速率,在1-30之间波动
    • 当低于5时,对面会感受到视频画面卡
  • Key-F: 接收到的关键帧请求个数。
  • SLI-F: 接收到的SLI帧请求个数。
  • Resolution: 当前发送图像的分辨率。
  • Bitrate: 当前发送的数据包的码率,单位kbps。
  • Setrate: 当前估计的带宽的码率,单位kbps。
    • 当低于80kbps时,对面看到的视频质量会明显变差
  • FEC: 在丢包网络下的前向纠错冗余数据包的码率,单位kbps。
  • NACK: 在丢包网络下的重发数据包的码率,单位kbps。
  • QP: 发送当前图像的量化步长(0-51),越小图像画质越好。
    • 当值大于等于37时,对面看到的视频会比较模糊

II) Received Statistics: 接收数据

  • Packets: 收到的数据包的个数。
    • 如果为0,则看不到对面的图像
    • 如果没有持续增加:则接收出错,对面的图像将无法刷新
  • Lost: 丢失的数据包的个数。
    • 连续增加: 网络太差,或存在网络模拟器
  • Lost Ratio: 当前的丢包率,单位百分比。
    • 10以上:网络太差,或存在网络模拟器
  • Jitter: 网络的扰动,表征数据包乱序的时间,单位毫秒。
    • 80以上: 网络太差,或存在网络模拟器
  • Framerate: 当前接收到的帧速率。
    • 0:看到的对面图像不更新
    • 5以下:看到的对面图像有卡顿感
  • Resolution: 当前接收到的分辨率大小,表示看到的对面图像清晰度,值越大越清晰
    • 1280×720: 超清晰
    • 640×480或者640×352:很清晰
    • 448×332: 清晰
    • 320×240:有点模糊
  • Bitrate: 当前接收的数据包的码率,单位kbps。
  • Codec: 接收到的图像的编码类型。

III) General Statistics: 通常的统计数据

  • Capture Res: 采集分辨率。
  • Capture Fr: 采集帧速率。
  • Render Fr: 渲染帧速率。
    • 低于5,看到的对面图像有卡顿感
  • RTT: 网络双向延时的时间,单位为毫秒。
    • 正常网络下:wifi 在100ms以内,4G网络在60-150ms左右;跨国网络在500ms左右
    • RTT超过正常值2倍以上,都表示网络差
  • Netw Status: 统计的网络状况,有Very Good、Good、Normal、Bad、Very Bad。
    • 网络状况Bad 或者Very Bad时,视频通话受影响,可能有卡顿、模糊等问题
  • CPU Load: 比如35/60。前一个35表示媒体占用的CPU使用率,后一个代表所有程序占用的CPU使用率, 只有android上有统计。
    • 后一个值超过90的时候:表示系统负载高,手机可能快速发热,视频可能卡顿

IV) Configuration: 配置信息

  • Capture: 采集源。
  • Local IP: 本地的ip地址。
  • Local Port: 现在本地使用的端口号。
  • Remote IP: 连接的远端ip地址。
  • Remote Port: 连接的远端的端口号。
  • RTCP Mux: RTCP是否使用多路复用的技术。
  • SRTP: 是否对RTP数据加密。
  • Codec: 双方通话采用的编解码类型。
  • Payload: payload的类型。
  • Bitrate: 设置的初始发送码率值,单位kbps。
  • Framerate: 设置的初始发送帧速率大小,单位fps。
  • FEC: FEC是否打开和payload的类型号。
    • 默认为on; 如果为off,则影响视频质量
  • FIR: 是否允许重发关键帧。
  • Key Interval: 允许的最小关键帧间隔。
  • Repeat: 关键帧丢失是否允许重发。
  • NACK: 丢包是否允许数据包重传。
    • 默认为on; 如果为off,则影响视频质量
  • RTX: 是否允许RTX技术,RTX的payload类型。
  • TMMBR: 是否允许带宽估计。
  • RPSI: 是否允许RPSI技术。
    • 默认为on; 如果为off,则影响视频质量
  • Small NALU: 是否允许NALU技术。
  • ARS: 是否开启自动码率检测。
  • BR Min: 发送码率下限。
  • BR Max: 发送码率上限。
    • 根据界面选择的码率模式: 最小模式下为300kbps;节省模式为500kbps;标准以及720P模式下,根据MDM能力协商得出,一般在1000kbps以上
  • FR Min: 发送帧速率下限。
  • FR Max: 发送帧速率上限。
  • Res. Ctrl: 是否允许分辨率控制。
  • Fr Ctrl: 是否允许帧速率控制。
  • CPU Load Ctrl: 是否允许CPU控制。
  • Target: CPU控制的最大使用率。
  • Bw Efficient: 是否采用节省带宽模式。
  • Error Conceal: 是否允许错误隐藏技术,在解码出错的时候采用。
  • Enhance color: 是否采用颜色增强技术。
  • Boost bright: 是否采用亮度增强技术。
  • Boost contrast: 是否采用对比度增强技术。
  • RTP Ext: 使用的RTP扩展的类型。
  • Render Name: 渲染图像的名字。

2. NAT 网络统计信息

网络统计信息分为Server、CHL和File media三个部分。

Server

  • Server 1: 选用的第一个服务器
  • Server 2: 选用的第二个服务器

CHL

通道传输类型,udp,tcp等。

  • Score: 该通道传输数据的综合评分。
  • Send delay/loss: 发送的延时/丢包率,延时单位为毫秒,丢包率为百分比。
  • Recv delay/loss: 接收的延时/丢包率,延时单位为毫秒,丢包率为百分比。

其中CHL有[CHL0]、[CHL1]、[CHL2]、[CHL3],[CHLO]数据选用Server1转发,[CHL1]数据选用Server2转发,[CHL2]数据选用Server1,Server2共同转发,[CHL3]数据选择走P2P通道。

File media

File media有两个,最前面的一个为音频,后面的一个为视频。

  • Send all(kbps): 发送的所有数据,包括包头等。
  • Send data(kbps): 发送的有效内容数据。
  • Send delay(ms): 发送的延时。
  • Send loss(%): 发送的丢包率。
  • Try p2p: 是否采用的p2p方式
  • Local: 近端的ip地址和端口号。
  • Remote: 远端的ip地址和端口号。

mdm 3. MDM 媒体配置信息

媒体配置信息分为Mode、Input、Output等。

  • Mode: 声音通道Android Mode Manager模式。
  • Input: 声音输入模式。
  • Output: 声音输出模式。
  • OS Aec: 是否采用系统的回声消除模式。
  • OS Agc: 是否采用系统的自动增益控制模式。
  • Mmp: mdm网站的第几次更新数据。其中,mdm网站是用来优化媒体配置信息的网站,每天通话会同步最优配置信息。如果Mmp为0则选用本地默认的配置信息。

◆ sendMessage()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.sendMessage ( String  channelId,
String  content,
String  toUserId 
)
abstract

发送文本消息

参数
channelId频道标识符
content消息内容,content不能为空,content不能大于 4k
toUserId接收者id,null则发给频道所有人员
返回
调用是否成功
  • 0:正常执行调用流程
  • >0:调用失败,参见:JRTCErrorCode 错误码
注解
该接口需要在自己成功加入频道后才能调用

此接口调用成功后,消息接收方会收到 onMessageReceived 回调,通过此回调可以获取消息的内容

注解
当参数content大于4K时消息的发送不可靠,为确保消息发送的可靠性可以对消息内容进行压缩。

◆ enableScreenShare()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.enableScreenShare ( String  channelId,
boolean  enable,
ScreenShareParam  screenShareParam 
)
abstract

开启/关闭屏幕分享

参数
channelId频道标识符
enable开启/关闭屏幕分享
  • true: 开启屏幕分享
  • false: 关闭屏幕分享
screenShareParam屏幕分享参数,当 enable 为 true 时有效,传 null 表示使用媒体引擎的默认值,详情见 ScreenShareParam
返回
调用是否成功
  • 0:正常执行调用流程
  • >0:调用失败,参见:JRTCErrorCode 错误码
注解
该接口需要在自己成功加入频道后才能调用

此接口调用成功后,频道内所有成员会收到 onChannelUpdate 回调,通过此回调可以获取到开始屏幕分享的事件

◆ startScreenShareVideo()

abstract JRTCVideoCanvas com.juphoon.cloud.jrtc.JRTCEngine.startScreenShareVideo ( String  channelId,
@RenderType int  renderType,
@PictureSize int  pictureSize,
boolean  play 
)
abstract

启动频道成员的屏幕分享视频渲染

参数
channelId频道标识符
renderType渲染模式:
pictureSize视频请求的尺寸类型:
play是否播放视频
  • true: 播放
  • false:停止播放
返回
JRTCVideoCanvas 渲染的视频对象

◆ uploadLog()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.uploadLog ( String  reason)
abstract

上传日志

参数
reason原因描述
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ info()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.info ( String  type,
String  format,
Object...  args 
)
abstract

写入info级别日志

参数
type标签
format字符串格式
args字符串格式中由格式说明符引用的参数
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ error()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.error ( String  type,
String  format,
Object...  args 
)
abstract

写入error级别日志

参数
type标签
format字符串格式
args字符串格式中由格式说明符引用的参数
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ debug()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.debug ( String  type,
String  format,
Object...  args 
)
abstract

写入debug级别日志

参数
type标签
format字符串格式
args字符串格式中由格式说明符引用的参数
返回
调用是否成功
  • 0:调用成功
  • >0:调用失败,参见:JRTCErrorCode 错误码

◆ getNetType()

abstract int com.juphoon.cloud.jrtc.JRTCEngine.getNetType ( )
abstract

网络类型

返回
网络类型,参见:

◆ hasNet()

abstract boolean com.juphoon.cloud.jrtc.JRTCEngine.hasNet ( )
abstract

是否有网

返回
  • true 表示有网
  • false 表示无网

◆ getAdvanced()

abstract JRTCAdvanced com.juphoon.cloud.jrtc.JRTCEngine.getAdvanced ( )
abstract

获取JRTCAdvanced对象,提供媒体高级功能

返回
JRTCAdvanced 对象

◆ setAudioFrameCallback()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.setAudioFrameCallback ( JRTCAudioFrameCallback  callback)
abstract

设置语音观测器对象

该方法用于设置语音观测器对象,即注册回调。当需要 SDK 给出 onAudioInputFrame 或 onAudioOutputFrame 回调时,需要使用该方法注册回调。该方法需要在加入频道前或开始通话前调用

参数
callbackJCAudioFrameCallback 对象。传入 null 表示取消注册。我们建议在收到 onLeave 或 onStop 或 onCallItemRemove 后调用,来释放语音观测器对象

◆ setVideoFrameCallback()

abstract void com.juphoon.cloud.jrtc.JRTCEngine.setVideoFrameCallback ( JRTCVideoFrameCallback  callback)
abstract

设置视频观测器对象

该方法用于设置视频观测器对象,即注册回调。当需要 SDK 给出 onVideoCaptureFrame 或 onVideoRenderFrame 回调时,需要使用该方法注册回调。 该方法需要在加入频道前或开始通话前调用

参数
callbackJCVideoFrameCallback 对象。传入 null 表示取消注册。我们建议在收到 onLeave 或 onStop 或 onCallItemRemove 后调用,来释放语音观测器对象

类成员变量说明

◆ LOG_LEVEL_DISABLE

final int com.juphoon.cloud.jrtc.JRTCEngine.LOG_LEVEL_DISABLE = 0
static

不打印日志

◆ LOG_LEVEL_ERROR

final int com.juphoon.cloud.jrtc.JRTCEngine.LOG_LEVEL_ERROR = 1
static

只打印 error 等级的日志

◆ LOG_LEVEL_INFO

final int com.juphoon.cloud.jrtc.JRTCEngine.LOG_LEVEL_INFO = 2
static

只打印 info 和 error 等级的日志

◆ LOG_LEVEL_DEBUG

final int com.juphoon.cloud.jrtc.JRTCEngine.LOG_LEVEL_DEBUG = 3
static

打印所有等级的日志

◆ AUDIO_ROUTE_RECEIVER

final int com.juphoon.cloud.jrtc.JRTCEngine.AUDIO_ROUTE_RECEIVER = 0
static

听筒

◆ AUDIO_ROUTE_SPEAKER

final int com.juphoon.cloud.jrtc.JRTCEngine.AUDIO_ROUTE_SPEAKER = 1
static

扬声器

◆ AUDIO_ROUTE_HEADSET

final int com.juphoon.cloud.jrtc.JRTCEngine.AUDIO_ROUTE_HEADSET = 2
static

有线耳机

◆ AUDIO_ROUTE_BLUETOOTH

final int com.juphoon.cloud.jrtc.JRTCEngine.AUDIO_ROUTE_BLUETOOTH = 3
static

蓝牙耳机

◆ RENDER_FULL_SCREEN

final int com.juphoon.cloud.jrtc.JRTCEngine.RENDER_FULL_SCREEN = 0
static

铺满窗口

◆ RENDER_FULL_CONTENT

final int com.juphoon.cloud.jrtc.JRTCEngine.RENDER_FULL_CONTENT = 1
static

全图像显示,会有黑边

◆ RENDER_FULL_AUTO

final int com.juphoon.cloud.jrtc.JRTCEngine.RENDER_FULL_AUTO = 2
static

自适应

◆ PICTURESIZE_NONE

final int com.juphoon.cloud.jrtc.JRTCEngine.PICTURESIZE_NONE = 0
static

不渲染

◆ PICTURESIZE_MIN

final int com.juphoon.cloud.jrtc.JRTCEngine.PICTURESIZE_MIN = 1
static

最小尺寸

◆ PICTURESIZE_SMALL

final int com.juphoon.cloud.jrtc.JRTCEngine.PICTURESIZE_SMALL = 2
static

小尺寸

◆ PICTURESIZE_LARGE

final int com.juphoon.cloud.jrtc.JRTCEngine.PICTURESIZE_LARGE = 3
static

大尺寸

◆ PICTURESIZE_MAX

final int com.juphoon.cloud.jrtc.JRTCEngine.PICTURESIZE_MAX = 4
static

最大尺寸

◆ UNAVAILABLE

final int com.juphoon.cloud.jrtc.JRTCEngine.UNAVAILABLE = 0
static

无网

◆ WIFI

final int com.juphoon.cloud.jrtc.JRTCEngine.WIFI = 1
static

Wifi

◆ MOBILE

final int com.juphoon.cloud.jrtc.JRTCEngine.MOBILE = 2
static

数据网

◆ ETHERNET

final int com.juphoon.cloud.jrtc.JRTCEngine.ETHERNET = 3
static

网线

◆ UNKNOWN

final int com.juphoon.cloud.jrtc.JRTCEngine.UNKNOWN = 4
static

未知类型

◆ STATE_IDLE

final int com.juphoon.cloud.jrtc.JRTCEngine.STATE_IDLE = 0
static

空闲状态

◆ STATE_JOINING

final int com.juphoon.cloud.jrtc.JRTCEngine.STATE_JOINING = 1
static

加入中

◆ STATE_JOINED

final int com.juphoon.cloud.jrtc.JRTCEngine.STATE_JOINED = 2
static

已加入

◆ STATE_LEAVING

final int com.juphoon.cloud.jrtc.JRTCEngine.STATE_LEAVING = 3
static

离开中

◆ PARTICIPANT_TYPE_NORMAL

final int com.juphoon.cloud.jrtc.JRTCEngine.PARTICIPANT_TYPE_NORMAL = 0
static

普通成员

◆ PARTICIPANT_TYPE_PSTN

final int com.juphoon.cloud.jrtc.JRTCEngine.PARTICIPANT_TYPE_PSTN = 1
static

PSTN成员

◆ PARTICIPANT_TYPE_WEBRTC

final int com.juphoon.cloud.jrtc.JRTCEngine.PARTICIPANT_TYPE_WEBRTC = 2
static

Webrtc成员

◆ PARTICIPANT_TYPE_IRC

final int com.juphoon.cloud.jrtc.JRTCEngine.PARTICIPANT_TYPE_IRC = 3
static

录制器成员(录制和推流),该类型成员不会上报给上层应用

◆ VOLUME_STATUS_ZERO

final int com.juphoon.cloud.jrtc.JRTCEngine.VOLUME_STATUS_ZERO = 0
static

无声音

◆ VOLUME_STATUS_LOW

final int com.juphoon.cloud.jrtc.JRTCEngine.VOLUME_STATUS_LOW = 1
static

◆ VOLUME_STATUS_MID

final int com.juphoon.cloud.jrtc.JRTCEngine.VOLUME_STATUS_MID = 2
static

◆ VOLUME_STATUS_HIGH

final int com.juphoon.cloud.jrtc.JRTCEngine.VOLUME_STATUS_HIGH = 3
static

◆ VOLUME_STATUS_TOO_HIGH

final int com.juphoon.cloud.jrtc.JRTCEngine.VOLUME_STATUS_TOO_HIGH = 4
static

过高

◆ NET_STATUS_DISCONNECTED

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_DISCONNECTED = 0
static

◆ NET_STATUS_VERY_BAD

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_VERY_BAD = 1
static

非常差

◆ NET_STATUS_BAD

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_BAD = 2
static

◆ NET_STATUS_NORMAL

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_NORMAL = 3
static

一般

◆ NET_STATUS_GOOD

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_GOOD = 4
static

◆ NET_STATUS_VERY_GOOD

final int com.juphoon.cloud.jrtc.JRTCEngine.NET_STATUS_VERY_GOOD = 5
static

非常好

◆ MAX_RESOLUTION_360p

final int com.juphoon.cloud.jrtc.JRTCEngine.MAX_RESOLUTION_360p = 0
static

最大分辨率 360p

◆ MAX_RESOLUTION_720p

final int com.juphoon.cloud.jrtc.JRTCEngine.MAX_RESOLUTION_720p = 1
static

最大分辨率 720p

◆ MAX_RESOLUTION_1080p

final int com.juphoon.cloud.jrtc.JRTCEngine.MAX_RESOLUTION_1080p = 2
static

最大分辨率 1080p

◆ MIRROR_NONE

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_NONE = 0
static

不镜像

◆ MIRROR_HORIZONTAL

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_HORIZONTAL = 1
static

水平方向镜像

◆ MIRROR_VERTICAL

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_VERTICAL = 2
static

竖直方向镜像

◆ MIRROR_AUTO

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_AUTO = 3
static

自动选择

◆ MIRROR_FLIP_FROM_LEFT

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_FLIP_FROM_LEFT = 4
static

转场动画,从左侧翻转

◆ MIRROR_FLIP_FROM_TOP

final int com.juphoon.cloud.jrtc.JRTCEngine.MIRROR_FLIP_FROM_TOP = 8
static

转场动画,从上侧翻转

◆ VIDEO_SOURCE_PEER

final int com.juphoon.cloud.jrtc.JRTCEngine.VIDEO_SOURCE_PEER = 0
static

用户

◆ VIDEO_SOURCE_CAPTURE

final int com.juphoon.cloud.jrtc.JRTCEngine.VIDEO_SOURCE_CAPTURE = 1
static

采集设备

◆ VIDEO_SOURCE_FILE

final int com.juphoon.cloud.jrtc.JRTCEngine.VIDEO_SOURCE_FILE = 2
static

文件

◆ CAMERA_NONE

final int com.juphoon.cloud.jrtc.JRTCEngine.CAMERA_NONE = 0
static

未获取到摄像头

◆ CAMERA_FRONT

final int com.juphoon.cloud.jrtc.JRTCEngine.CAMERA_FRONT = 1
static

前置摄像头

◆ CAMERA_BACK

final int com.juphoon.cloud.jrtc.JRTCEngine.CAMERA_BACK = 2
static

后置摄像头

◆ CAMERA_UNKNOWN

final int com.juphoon.cloud.jrtc.JRTCEngine.CAMERA_UNKNOWN = 3
static

未知摄像头

◆ CAMERA_EXTERAL

final int com.juphoon.cloud.jrtc.JRTCEngine.CAMERA_EXTERAL = 4
static

外部摄像头


该类的文档由以下文件生成: