编译EasyRTC新版本采用ProtocolBuffer(pb)接收不同类型数据如何判断?
时间:2021-08-16
本文章向大家介绍编译EasyRTC新版本采用ProtocolBuffer(pb)接收不同类型数据如何判断?,主要包括编译EasyRTC新版本采用ProtocolBuffer(pb)接收不同类型数据如何判断?使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ProtocolBuffer(pb)所做事情其实类似于xml、json,也就是把某种数据结构的信息依照某种格式保存起来,ProtocolBuffer(pb)效率高,支持多种编程语言。
在编译EasyRTC新版本时,我们采用了ProtocolBuffer(pb)实现部分功能,其中在EasyRTC视频通话接收消息时,由于发送文件buffer格式问题,传输的数据不能经过封装,所以文件接收不能根据接收的type值进行判断。
我们先讲一下接收信息和文件的区别。
接受消息数据如下:
接受文件数据某个切片如下:
文件和信息的接收数据类型不同,因此我们需要设置系统根据数据类型进行判断。
判断接收数据类型执行信息接收,参考代码如下:
//接收消息处理
onReceiveMessageCallback = (event) => {
this.receiveState = false
this.fileTip = false
if (typeof event.data === 'string' ? true : false){
this.msgData.push(JSON.parse(event.data))
this.getTipType('msg')
}
if (typeof event.data !== 'string' ? true : false){
this.receiveBuffer.push(event.data) //将接收到的数据添加到接收缓存里
this.receivedSize += event.data.byteLength; //设置当前接收文件的大小
let filesInfo = JSON.parse(JSON.stringify(this.filesData))
if (this.receivedSize === filesInfo[0].size){
const received = new Blob(this.receiveBuffer) //生成Blob文件
this.receiveBuffer = [] // 将缓存数据置空
}
this.getTipType('file')
}
}
EasyRTC在未来的运用中,将不仅仅适用于政府和企业视频会议,还适用于各种大屏场景下的音视频传输,如远程教育培训、多人通话以及室内监控等等,更多的项目使用场景,欢迎大家了解和测试,共同将EasyRTC的行业运用变得更加丰富。
原文地址:https://www.cnblogs.com/TSINGSEE/p/15149236.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 表格中的输入框验证
- 不可忽视的CSS布局
- 让小黑窗口听你指挥
- Element表单嵌套数据验证
- 摸鱼的新发现,滚动条无限滚动
- 理解装饰器是怎么使用的
- 第十一节:Activiti6.0——定时器开始事件、消息开始事件和错误开始事件介绍
- linux centos 安装mailx邮件服务器并测试发送一封邮件
- 深入分析Vue-Router原理,彻底看穿前端路由
- linux LVM 一键分区脚本自动扩容
- 再谈构造函数、原型、原型链之间的关系
- Java ConcurrentHashMap 高并发安全实现原理解析
- 第十二节:Activiti6.0——四种边界事件:定时器、错误、信号、补偿
- parted 磁盘分区-挂载-删除-shell脚本进行磁盘分区
- Ubuntu18.04——安装MySQL