Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mayun_sdk

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mayun_sdk

[TOC]

  • 1.1.5
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

[TOC]

H5-SDK-WEBRTC 接口文档 v1.1.1(2019-08-15更新)

1 - 更新要点:

  • connect 废弃回调 ,采用promise

  • connect 参数传参的方式变更,以及增加了userId

    例:
    gp.connect({
        devId:"B2E84A45BDF8",
        token:"FC85E15F7C5DCD7DC1D6127DC957307B",
        userId:"MaYun1565854673256",
    },"remoteVideo")
    
  • init增加cover,log参数

    cover: 默认false, 不支持自动播放的时候 , 为true时会存在一个点击的遮照 , 为false时,connect时会为其反回一个10052的错误码去自定义点击遮罩

    log: 默认false, 为true时可打印日志交互日志, 为false时,取消

  • isSupportRTC 是否支持webRTC

    let res = gp.isSupportRTC;
    {code:***, msg:***}
    状态码说明:
    	code:0  支持webRTC
    	code:-1  不支持webRTC
    

2 - 摘要

  • 兼容性问题

  • 安全性

  • 状态码说明

    
    0#成功
    -1#其它错误
    ---------------------------------------
    1001x:初始化传参相关错误
    10011#ws地址格式错误
    10012#wss地址格式错误
    10013#设置窗体失败,采用默认窗体
    10014#缺少必填参数
    10015#sdk实例化失败,缺少必填参数
    ---------------------------------------
    1002x:设备相关错误
    #10021#待定 (目前不存在该状态)
    10022#设备不可用,未注册
    10023#设备被占用
    10024#设备离线,断开
    10025#token校验失败
    10026#OS类型未找到
    ---------------------------------------
    1003x:连接相关错误
    10031#信令未连接
    10032#客户端与信令断开
    10033#设备未连接
    10034#连接超时,断开
    10035#服务端视频流开关已关闭
    ---------------------------------------
    1004x:监听日志状态码
    10041#监听操作相关信息
    10042#rtc相关信息,每20s更新一次
    
    1005x:渲染相关状态码
    10051#不支持自动播放
    10052#加载画面失败,请联系码云code:10052
    

    注释: 错误状态码可能后续会有更新

3 - 兼容性

目前最新版本对浏览器支持情况如下:

平台chrome58+Safari 11+微信浏览器QQ浏览器360浏览器(最新)
Android××
IOS×??
macOS×××××
Windows××××

浏览器说明 :

  1. 测试安卓手机厂商中自带浏览器 : 小米浏览器,华为浏览器,魅族浏览器都是不支持的(这部分浏览器可能也是基于chrome内核,但是此类浏览器是不支持的)
  2. ? - 代表着目前还不确认
  3. 360浏览器android平台,部分设备会出现音频声音暂小或无的情况

4 - 使用环境

4.1 - 引入方式

加载SDK前,先引用 : https://webrtc.github.io/adapter/adapter-latest.js

调用环境格式地址
browserjs文件http://www.288.com/sdk/js/gp.min.js
nodenpm包npm install mayun_sdk

5 - 接口介绍

回调说明

{
    code:0,
    msg:"------------"
}
or
{
    code:0,
    data:[] / {} / "" / 12
    msg:"------------"
}
5.1 - SDK实例创建

brower 和 npm实例创建代码如下:

 #brower
 1. <script type="text/script" src="http://www.288.com/sdk/js/gp.min.js"></script>
 2. let gp = new MaYun(options,,fnSuc,fnErr);
 #npm
 1. npm install mayun_sdk
 2. import MaYun from 'mayun_sdk';
 3. let gp = new MaYun(options,fnSuc,fnErr);
  • options参数说明
let options = {
    ws:`http下的信令地址`  //http下必填
    wss:`https下的信令地址`    //https下必填
    iceServers:{
    	stun:{
            uri:"stun:p2p地址",
        },
        turn_udp:{
            uri:"turn:转发地址?transport=udp",
                username:"demo",
                    credential:"123456"
        },
        turn_tcp:{
            uri:"turn:转发地址?transport=tcp",
            username:"demo",
            credential:"123456"
        }
	},   //必填
    timeout:20*1000    //连接超时时间, 非必填  默认30*1000
    screen:{
    	width:720
    	height:360
	},
    log:true | false {默认: false}  //内部日志的打印
	cover:true | false {默认:false}  //如有不支持自动播放,true会有一个遮照来点击播放, false会为你返回一个10051错误码,自己定义遮照点击处理
}

/*
	- ws : http下的信令连接
	- wss : https下的信令连接
	- iceServers : 转发、p2p服务器地址配置
	- screen : 窗体大小 比例16:9
*/
  • fnSuc 参数

    状态码说明
    0SDK实例初始化成功 ,可能会出现10013状态
    10013设置窗体失败,采用默认窗体 该状态会出现0状态
    10014缺少必填参数
5.2 - 浏览器是否支持

isSupportRTC- 是否支持webRTC

let res = gp.isSupportRTC;

/**
 ** res {code:***, msg:***} 状态码说明:
	code:0  支持webRTC
	code:-1  不支持webRTC
*/
5.3 - 连接云设备

connect - 连接云设备

/*
* 连接云设备
* @param options 连接所需要的参数
* @param ele[string] 节点id
* @returns {Promise<void>}
*/
#推荐
gp.connect(options,ele).then(data => {
    /**
    	data状态码说明:
    	0 - 连接成功
    	10014 - 缺少必填参数
    	10015 - sdk实例化失败,缺少必填参数
    	10021 - 设备被占用,连接失败
		10022 - 设备不可用,未注册
    	10025 - token校验失败
    	10031 - 信令未连接
    	10034 - 连接超时,断开


    */
}).catch(err => {
    ...
})
或
gp.connect(devId,token,ele,success,error)  //遗弃

--------------options参数介绍begin-----------------
# devId(String) - 云设备ID
# token(String) - token校验
# userId(String) - 连接的用户ID
例: {
    devId:'B2E84A45BDF8',
    token:'A37D6DBFCDBB4DC2C97C83E4A98EEED8',
    userId:'MaYun1565840775686'
}
---------------------end----------------------------



  • data | 状态码 | 说明 | | ------ | --------------------------- | | 0 | 连接成功 | | 10014 | 缺少必填参数 | | 10015 | sdk实例化失败,缺少必填参数 | | 10022 | 设备不可用,未注册 | | 10023 | 设备被占用 | | 10025 | token校验失败 | | 10031 | 信令未连接 | | 10034 | 连接超时,断开 | | 10035 | 服务端视频流开关已关闭 | | 10051 | 不支持自动播放 | | 10052 | 加载页面失败 |
5.4 - 监听云设备是否断开或连接超时

onServiceStatus

/*
* 监听云设备是否断开
* @param event[json] 状态消息
*/
gp.onServiceStatus(event => {
    console.log("onStatus --- ", event);
});
状态码说明
10024设备离线,断开 (2s可做连接操作,) - 重要
10032web客户端与信令断开
10035服务端视频流开关已关闭 - SDK会自动断开视频流
10041操作相关信息 - 目前无实际作用,只是查看相关操作信息
10042rtc相关信息,每20s更新一次(无实际作用,辅助日志)
{
    code: 10041
    data: {type: "down", dot: 1, mouses: [{x: 195, y: 83.5}]}
    msg: "操作成功"
}
5.5 - 断开连接

disconnect

gp.disconnect().then(data => {
    /**
    	data状态码说明
    	0 - 断开成功
    */
});
5.6 - 操作流 - 指令处理
5.6.1 - 按键综合处理
  • type - 按键类型 String

    back : 返回键

    home: home键 {功能禁用}

    menu: menu键 {功能禁用}

    volume_up: 音量增加

    volume_down: 音量减少

gp.onKeys(type,success,error);
# type(String) - 按键类型
# success(fun) - 操作成功回调
# error(fun) - 操作失败回调
5.6.2 - Back返回键
gp.onKeysBack(success,error);
# success(fun) - 操作Back成功回调
# error(fun) - 操作Back失败回调
5.6.3 - 音量+,音量-
gp.onKeysVolAdd(success,error);
# success(fun) - 操作Back成功回调
# error(fun) - 操作Back失败回调

gp.onKeysVolReduce(success,error);
# success(fun) - 操作Back成功回调
# error(fun) - 操作Back失败回调
5.6.4 - Home键

暂未开放

gp.onKeysHome(success,error);
// success(fun) - 操作Back成功回调
// error(fun) - 操作Back失败回调
5.6.5 - Menu (Recent)

暂未开放

gp.onKeysMenu(success,error);
// success(fun) - 操作Back成功回调
// error(fun) - 操作Back失败回调

6. 更新记录

v1.1.2
  • 修复加载连接,会出现坐标不正确的问题

  • 坐标计算调整 16:9 调整为 640:368 (协议包1.2.2.111以上版本)

FAQs

Package last updated on 15 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc