hy-rtc-sdk
v0.6.25
Published
Hy-RTC-SDK
Downloads
704
Readme
hy-rtc-skd 核心模块
版本 0.6.23 更新内容
- 方法名称替换
- audioInputListFn 替换成 getAudioInputList
- videoInputListFn 替换成 getVideoInputList
- 打包方式改变,打包文件可在浏览器直接使用
版本 0.6.21 更新内容
版本 0.6.20 更新内容
版本 0.6.16 更新内容
- 优化
- 优化 initSocket 中的 sdkParams 新增 proactivelyDisconnect 主动断开字段
版本 0.6.13 更新内容
- 优化
- 优化 disconnect 断开 并清空 房间列表和设备列表
版本 0.6.12 更新内容
- 优化
- 优化 clientClosed 的回调事件时间
- 优化 audioPushing 和 videoPushing 字段判断, 根据 consumers 中的 track判断
版本 0.6.11 更新内容
- 固定依赖
- 固定 hy-rtc-core 依赖版本
版本 0.6.10 更新内容
- 方法名字替换
- mediaClientIdFn
- 替换名: getMediaClientId
- 用 途: 获取中颗粒度 clientId
- mediaServicesFn
- 替换名: setMediaServices
- 用 途: 设置 mediaServices 内容
- subscribeFn
- 替换名: setSubscribe
- 用 途: 订阅消息
- unsubscribeFn
- 替换名: setUnsubscribe
- 用 途: 取消订阅
- mediaClientIdFn
版本 0.6.8 更新内容
- 功能优化
- initSocket 方法新增字段 recvForceTcp(强制TCP拉流true/false)
版本 0.6.7 更新内容
- 功能优化
- monitor 等功能,兼容苹果默认浏览器画面
版本 0.6.6 更新内容
- 升级依赖
- hy-rtc-core
- 功能优化
- monitor 等功能,在设备报错时候自动调用 failCallback 方法
版本 0.6.6 更新内容
- 升级依赖
- hy-rtc-core
版本 0.6.4 更新内容
- 新增功能
getLocalVideoStream (获取本地当前视频流)
getLocalAudioStream (获取本地当前音频流)
getRoom (当前房间数据)
replaceAudioStream (更换房间中的音频流)
版本 0.6.2 更新内容
- 优化功能 - 优化小颗粒度参数,字段“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)
相关参数解释
功能参数文档
功能回调内容
房间methodType状态
报错信息文档