Function 函数

login(appkey, userId, password, loginParam)

登录 Juphoon Cloud 平台
只有登录成功后才能进行平台上的各种业务
Parameters:
Name Type Description
appkey String Appkey
userId String 用户名
可以是:
小写英文字母 a-z
大写英文字母 A-Z
数字 0-9
+','-','_','.'。另外 '-','_','.' 这三个字符不能处于用户名的第一位
password String 密码,不能为 null 或 ""
loginParam Object 登录参数
Properties
Name Type Description
heartbeatTime Number 心跳间隔 默认值:500ms
connectUrl String 服务环境 默认值:https://ums.justalkcloud.com:18443/
返回
无返回值
调用是否正常 加入结果通过 onLogin 方法通知
true: 正常执行调用流程
false: 调用失败,参考频道加入失败和离开原因

query(channelId)

查询频道相关信息
在登录后调用此接口可以查询频道相关信息,例如频道是否存在,频道人数等
Parameters:
Name Type Description
channelId String 频道标识
返回
无返回值
会议信息queryInfo, 通过 onQuery 方法通知

join(channelId, joinParam)

加入会议,通过此方法加入通话频道,在同一个频道内的用户可以互相通话
如果已在频道中,用户须退出当前频道,才能进入下一个频道
Parameters:
Name Type Description
channelId String 会议号
joinParam Object 会议参数
Properties
Name Type Description
displayName String 昵称 默认值:登录时的用户名userId
password String 会议密码 默认值:123456
capacity Number 会议最大人数 默认值:16
cdn String CDN推流地址
record Object 录制参数
由buildAliossRecordParam 或者 buildQiniuRecordParam 构建
maxResolution Number 会议最大分辨率 默认值:720p
返回
无返回值
调用是否正常 加入结果通过 onJoin 方法通知
true: 正常执行调用流程
false: 调用失败

buildAliossRecordParam(video, bucketName, secretKey, accessKey, uploadEndPoint, fileName)

阿里云录制参数构造
bucketName、secretKey、accessKey、uploadEndPoint 参数通过阿里云开发者平台获取
用于构造录制文件的存储地址对象。你需要把返回的对象传递给 joinParam 或 enableRecord。
Parameters:
Name Type Description
video Boolean 是否是视频录制
bucketName String 阿里云 bucketName
secretKey String 阿里云 secretKey
accessKey String 阿里云 accessKey
uploadEndPoint String 阿里云访问域名
fileName String 录制文件名
Returns:
-返回JSON对象
Type
Object

buildQiniuRecordParam(video, bucketName, secretKey, accessKey, fileName)

七牛录制参数构造
bucketName、secretKey、accessKey 参数通过七牛开发者平台获取
用于构造录制文件的存储地址对象,返回的对象将作为 enableRecord 的第二个参数传递给 enableRecord 和 joinParam
Parameters:
Name Type Description
video Boolean 是否是视频录制
bucketName String 七牛云 bucketName
secretKey String 七牛云 secretKey
accessKey String 七牛云 accessKey
fileName String 录制文件名
Returns:
-返回JSON对象
Type
Object

startVideo(localCanvas, remoteCanvas)

打开和服务器间的视频通道
打开摄像头,采集本地视频数据
接收远端视频数据
渲染本地和远端视频画面
Parameters:
Name Type Description
localCanvas string video 类型的 DOM 元素,用于渲染本地视频画面
remoteCanvas string div 类型的 DOM 元素,用于渲染远端视频画面
返回
无返回值
调用是否正常 加入结果通过 onStartVideo 方法通知
true: 正常执行调用流程
false: 调用失败

enableLocalVideo(enable)

开启/关闭本地视频采集
该方法禁用或重新启用本地视频采集。不影响接收远端视频。
Parameters:
Name Type Description
enable Boolean true开启/false关闭

enableRemoteVideo(enable, pictureSize)

开启/关闭对端视频渲染
当enable为true时,pictureSize生效
Parameters:
Name Type Description
enable Boolean true开启/false关闭
pictureSize Number 对端视频尺寸
1最小尺寸
2小尺寸
3大尺寸
4最大尺寸

getParticipants → {Object}

获得频道中的所有成员
Properties:
Name Type Description
isSelf Boolean 是不是自己 true是自己/false不是自己
userId String 成员ID
displayName String 成员昵称
subscribe Boolean 是否订阅视频 0不订阅/1订阅
customRole Number 自定义角色
0无自定义角色
1自定义角色1
2自定义角色2
3自定义角色3
4自定义角色4
customState Number 自定义状态
0无自定义状态
1自定义状态1
2自定义状态2
3自定义状态3
4自定义状态4
isAudio Boolean 成员音频状态 true开启/false关闭
isVideo Boolean 成员视频状态 true开启/false关闭
Returns:
-返回成员列表
Type
Object

enableUploadVideoStream(enable)

开启/关闭发送本地视频流
加入会议时,默认状态为开启状态
调用该方法可开启或关闭发送本地视频流。开启后,频道成员将可以看见本端视频画面;关闭后,频道成员将看不见本端视频画面,服务器会更新状态并同步给其他频道成员
调用此方法不影响接收远端视频
Parameters:
Name Type Description
enable Boolean true开启/false关闭

enableUploadAudioStream(enable)

开启/关闭发送本地音频流
加入会议时,默认状态为开启状态
调用该方法可开启或关闭发送本地音频流。开启后,频道成员将听见本端声音;关闭后,频道成员将听不见本端声音
调用此方法开启或关闭发送本地音频流,服务器会更新状态并同步给其他频道成员
调用此方法不影响接收远端音频
Parameters:
Name Type Description
enable Boolean true开启/false关闭

enableAudioOutput(enable)

开启/关闭音频输出
加入会议时,默认状态为开启状态
该方法可实现本地静音功能。关闭时听不到频道内其他成员的声音,不影响其他成员;开启时可以听到其他成员声音
Parameters:
Name Type Description
enable Boolean true开启/false关闭

enableRecord(enable,record)

开启/停止录制
Parameters:
Name Type Description
enable Boolean true开启/false关闭
record Object 录制参数 当 enable 为 true 时,可以更改由 join 时传入的录制参数,不需更改则填 null
返回
无返回值
调用是否正常,会收到 onEnableRecord 通知
true:正常执行调用流程
false:调用失败

enableCdn(enable)

开启/停止CDN推流
Parameters:
Name Type Description
enable Boolean true开启/false关闭
返回
无返回值
调用是否正常,会收到 onEnableCdn 通知
true:正常执行调用流程
false:调用失败

enableScreenShare(enable)

开启/关闭屏幕共享
在频道中调用此方法才有效
Parameters:
Name Type Description
enable Boolean true开启/false关闭
返回
无返回值
调用是否正常,会收到 onEnableScreenShare 通知
true:正常执行调用流程
false:调用失败

getChannelProperties() → {Object}

获取会议信息
Properties:
Name Type Description
channelUri String channelUri
channelId String 房间号
channelNum Number 会议号
cdnState Number cdn推流状态
0无法进行Cdn推流
1可以开启Cdn推流
2Cdn推流中
recordState Number 录制状态
0无法进行视频录制
1可以开启视频录制
2视频录制中
title String 会议标题
custom String 会议自定义内容
Returns:
-返回会议信息对象
Type
Object

getCameras() → {Array}

获取摄像头列表
Properties:
Name Type Description
id String 摄像头id
label String 摄像头名称
Returns:
-摄像头列表
Type
Array

getMicrophones() → {Array}

获取麦克风列表
Properties:
Name Type Description
id String 麦克风id
label String 麦克风名称
Returns:
-麦克风列表
Type
Array

getSpeakers() → {Array}

获取扬声器列表
Properties:
Name Type Description
id String 扬声器id
label String 扬声器名称
default String 默认使用的扬声器
Returns:
-扬声器列表
Type
Array

switchCamera(cameraId)

切换摄像头
内部会根据当前摄像头类型来进行切换
调用此方法时要保证摄像头已打开,否则将直接返回 false
Parameters:
Name Type Description
cameraId String 摄像头ID
返回
无返回值
调用是否正常,会收到 onSwitchCamera 通知
true:正常切换
false:切换失败

switchMicrophone(microphoneId)

切换麦克风
Parameters:
Name Type Description
microphoneId String 麦克风ID
返回
无返回值
调用是否正常,会收到 onSwitchMicrophone 通知
true:正常切换
false:切换失败

switchSpeaker(speakerId)

切换扬声器
Parameters:
Name Type Description
speakerId String 扬声器ID
返回
无返回值
调用是否正常,会收到 onSwitchSpeaker 通知
true:正常切换
false:切换失败

sendImMessage(content, toUserId)

发送IM消息
Parameters:
Name Type Description
content String 消息内容
toUserId String 接收者的 userId
返回
无返回值
调用是否正常,会收到 onSendMessage 通知
true:正常发送
false:发送失败

sendOnlineMessage(content, toUserId)

发送Online消息
Parameters:
Name Type Description
content String 消息内容
toUserId String 接收者的 userId
返回
无返回值
调用是否正常,会收到 onSendMessage 通知
true:正常发送
false:发送失败

sendText(content, toUserId)

发送聊天消息
Parameters:
Name Type Description
content String 消息内容
toUserId String 接收者的 userId
返回
无返回值
调用是否正常,会收到 onSendMessage 通知
true:正常发送
false:发送失败

setCustomRole(id,currentRole,newRole)

设置成员自定义角色
Parameters:
Name Type Description
id String 成员ID
currentRole Number 成员当前角色
0无自定义角色
1自定义角色1
2自定义角色2
3自定义角色3
4自定义角色4
newRole Number 成员将要切换的角色
0无自定义角色
1自定义角色1
2自定义角色2
3自定义角色3
4自定义角色4
返回
无返回值
调用是否正常,会收到 onSetParticipant 通知
true:正常设置
false:设置失败

setCustomState(id,currentState,newState)

设置成员自定义状态
Parameters:
Name Type Description
id String 成员ID
currentState Number 成员当前状态
0无自定义状态
1自定义状态1
2自定义状态2
3自定义状态3
4自定义状态4
newState Number 成员将要切换的状态
0无自定义状态
1自定义状态1
2自定义状态2
3自定义状态3
4自定义状态4
返回
无返回值
调用是否正常,会收到 onSetParticipant 通知
true:正常设置
false:设置失败

setLayout(mode)

设置远端布局
Parameters:
Name Type Description
mode Number 布局模式
1自由模式
2矩形模式
3大屏X2
4大屏X3
12小屏底部
13小屏顶部
返回
无返回值
调用是否正常,会收到 onSetLayout 通知
true:正常设置
false:设置失败

sendCommand(param)

发送指令
Parameters:
Name Type Description
param Object 指令内容对象
注解:
  • 指令名:settitle 指令作用:修改会场标题
    参数格式:{"cmd": "settitle", "title": "内容"}
    举例: {"cmd": "settitle", "title": "12345"}
    回调函数:onSendCommand
  • 指令名:publish 指令作用:设置是否接收视频
    参数格式:{"cmd": "publish", "video": "是否接收视频"}
    注意:video参数 false,0 - 不接收视频,true,1 - 接收视频
    举例: {"cmd": "publish", "video": "true"}
    回调函数:onSendCommand
  • 指令名:vsubscribe 指令作用:设置对其他成员的订阅信息
    参数格式:{"cmd": "vsubscribe", "target": "设置成员id", "state": "订阅状态"}
    注意:state参数 0 - 不订阅,1 - 订阅视频
    举例: {"cmd": "vsubscribe", "target": "justin", "state": "1"}
    回调函数:onSendCommand
  • 指令名:setnick 指令作用:修改自身昵称
    参数格式:{"cmd": "setnick", "nick": "内容"}
    举例: {"cmd": "setnick", "nick": "abc"}
    回调函数:onSendCommand

getStatistics() → {Object}

获得当前通话统计信息
Returns:
-返回统计信息JSON对象
Type
Object

getVersion() → {String}

获取版本
Returns:
-返回版本号
Type
String

leave()

离开会议
返回
无返回值
调用是否正常,会收到 onLeave 通知
true:正常离开
false:离开失败

logout()

登出 Juphoon Cloud 平台
登出后不能进行平台上的各种业务
返回
无返回值
调用是否正常,会收到 onLogout 通知
true:正常登出
false:登出失败,参考频道加入失败和离开原因