- 升级依赖
- hy-rtc-core@1.38.0
- 升级依赖
- hy-rtc-core@1.37.2
- 优化
- 优化 initSocket 中的 sdkParams 新增 proactivelyDisconnect 主动断开字段
- 优化
- 优化 disconnect 断开 并清空 房间列表和设备列表
- 优化
- 优化 clientClosed 的回调事件时间
- 优化 audioPushing 和 videoPushing 字段判断, 根据 consumers 中的 track判断
- 固定依赖
- 固定 hy-rtc-core 依赖版本
- 方法名字替换
- mediaClientIdFn
- 替换名: getMediaClientId
- 用 途: 获取中颗粒度 clientId
- mediaServicesFn
- 替换名: setMediaServices
- 用 途: 设置 mediaServices 内容
- subscribeFn
- 替换名: setSubscribe
- 用 途: 订阅消息
- unsubscribeFn
- 替换名: setUnsubscribe
- 用 途: 取消订阅
- mediaClientIdFn
- 功能优化
- initSocket 方法新增字段 recvForceTcp(强制TCP拉流true/false)
- 功能优化
- monitor 等功能,兼容苹果默认浏览器画面
- 升级依赖
- hy-rtc-core
- 功能优化
- monitor 等功能,在设备报错时候自动调用 failCallback 方法
- 升级依赖
- hy-rtc-core
- 新增功能
- getLocalVideoStream (获取本地当前视频流)
- getLocalAudioStream (获取本地当前音频流)
- getRoom (当前房间数据)
- replaceAudioStream (更换房间中的音频流)
- 优化功能 - 优化小颗粒度参数,字段“host”、“port”、“path”、“useSSL”
- [x] 设备监听 (
monitorlisten
) - [x] 设备监控 (
monitor
) - [x] 加入频道 (
channelInFn
) - [x] 视频会议 (
videoMeetingIn
) - [x] 语音通话 (
intercomcall
) - [x] 视频通话 (
videocall
) - [x] 发起广播 (
broadcast
) - [x] 视频录制 (
recordVideo
)
// npm 依赖包安装
npm i hy-rtc-sdk
// 在需要使用的页面引入
import HyRtcSdk from 'hy-rtc-sdk'
// 初始化
/* 连接媒体服务 */
const hyRtcSdk = new HyRtcSdk ({
useSSL: true, // 是否启用SSL
host: 'host', // IP地址
port: 'port', // 端口号
path: 'path', // 要连接到的主机上的路径
clientId: 'clientId', // 标识符
userName: 'userName', // 账号
password: 'password' // 密码
})
hyRtcSdk.eventEmit('open', () => {
this.sdk = hyRtcSdk
console.log('成功')
})
hyRtcSdk.eventEmit('close', () => {
console.log('连接失败回调事件')
})
hyRtcSdk.eventEmit('disconnected', () => {
console.log('绑定连接断开事件')
})
// 事件监听
this.rtc.eventEmit('consumerResumed', (res) => {
console.log('房间中设备开启麦克风', res)
})
this.rtc.eventEmit('consumerPaused', (res) => {
console.log('房间中设备关闭麦克风', res)
})
断开服务 (disconnectCompletely)
this.sdk.disconnectCompletely()
获取运行环境信息
const obj = this.sdk.disconnectCompletely()
房间中相关方法
退出房间 (exitRoom)
this.sdk.exitRoom()
/**
* method:房间消息
const method = {
hangup: '挂断',
answer: '接听中',
ringing: '响铃中',
suspendRinging: '停止响铃'
}
* roomId:房间id
* clientId:受控设备id 不传则是all,(all在双人对讲时候无效)
*/
通话中,给房间发送消息 (sendRoomMessage)
this.sdk.sendRoomMessage(method, roomId, clientId)
/**
* notificationDeviceControl
* @param params
*
左上:PTZ_LEFT_UP
上:PTZ_UP
右上:PTZ_RIGHT_UP
左:PTZ_LEFT
右:PTZ_RIGHT
左下:PTZ_LEFT_DOWN
下:PTZ_DOWN
右下:PTZ_RIGHT_DOWN
放大:PTZ_ZOOM_IN
缩小:PTZ_ZOOM_OUT
停止PTZ指令:PTZ_STOP(停止操作无需speed参数)
聚焦-近:FI_FOCUS_NEAR
聚焦-远:FI_FOCUS_FAR
光圈-缩小:FI_IRIS_ZOOM_OUT
光圈-放大:FI_IRIS_ZOOM_IN
停止FI指令:FI_STOP(停止操作无需speed参数)
* speed
* 速度,整型;取值范围:1~8
*/
云台控制 (notificationDeviceControl)
this.sdk.notificationDeviceControl({
command: '相关操作',
clientId: 'clientId',
speed: 4, '移动速度 1~8 默认4'
})
获取屏幕流
sdk.getDisplayMedia(obj.param).then((stream) => {
resolve(stream)
}).catch((e) => {
reject(e)
})
传入一个流,拆分成音频流和视频流
const { videoStream, audioStream } = await this.hyRtcSdk.handlerDisplayMediaStream(stream)
音频相关方法
获取本地音频列表 (audioInputListFn)
const audioInputList = this.sdk.audioInputListFn()
获取音频话语权 (audioConsumerResume)
this.sdk.audioConsumerResume(roomId, 成功回调,失败回调)
释放音频话语权 (audioConsumerResume)
this.sdk.audioConsumerPaused(roomId, 成功回调,失败回调)
视频相关方法
获取本地视频列表 (videoInputListFn)
const videoInputListFn = this.sdk.videoInputListFn()
获取视频话语权 (videoConsumerResume)
this.sdk.videoConsumerResume(roomId, 成功回调,失败回调)
释放视频话语权 (videoConsumerPaused)
this.sdk.videoConsumerPaused(roomId, 成功回调,失败回调)
/**
* roomId 非必填 (不填写使用全局的,填写就是针对房间操作)
*/
替换个人房间中的VideoStream (videoStream, roomId)
this.sdk.replaceVideoStream(videoStream, roomId)
功能参数文档
参数 | 说明 | 类型 | 可选值 | 必填 |
---|---|---|---|---|
clientId | 呼叫方ClientID | String | — | ✔ |
containerName | 播放器容器id,不传不显示默认播放器 | String | — | ✘ |
currentName | 播放器id | String | — | ✘ |
功能回调内容
回调名称 | 必传 | 描述 | 返回类型 | 返回内容 |
---|---|---|---|---|
failCallback | 否 | 失败回调 | object |
errorReason // 错误内容 errorCode // 错误编码 |
successCallback | 否 | 成功回调 | array |
roomId:房间id clientIdList //房间中设备列表 clientIdList[0].id //呼叫方ClientID clientIdList[0].idName //播放器id名称 (containerName,没有传则不返回) clientIdList[0].methodType //设备房间状态 clientIdList[0].consumers //文件流 |
房间methodType状态
内容名称 | 描述 |
---|---|
ringing | 设备响铃中 |
answer | 设备接听中 |
hangup | 设备挂断 |
successfulCall | 开始播放 |
clientClosed | 设备退出房间 |
exitRoom | 房间关闭 |
报错信息文档
errorCode编号 | errorReason 描述 | |
---|---|---|
7202 | 未知方法 | |
7204 | 参数缺失 | |
8000 | 房间已存在 | |
8001 | 设备已存在 | |
8002 | 受控端不在线 |