hy-rtc-sdk

0.6.21 • Public • Published

hy-rtc-skd 核心模块

版本 0.6.21 更新内容
  • 升级依赖
    • hy-rtc-core@1.38.0
版本 0.6.20 更新内容
  • 升级依赖
    • hy-rtc-core@1.37.2
版本 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
      • 用 途: 取消订阅
版本 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)

相关参数解释

功能参数文档

参数 说明 类型 可选值 必填
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 受控端不在线

Readme

Keywords

none

Package Sidebar

Install

npm i hy-rtc-sdk

Weekly Downloads

2

Version

0.6.21

License

none

Unpacked Size

70.2 kB

Total Files

3

Last publish

Collaborators

  • zhangxiaopang