春争日,夏争时,扫码抽取夏日礼包!!! 了解详情
写点什么

用这个开源工具,提前为你的 WebRTC 应用排个雷(二)

  • 2019 年 11 月 30 日
  • 本文字数:932 字

    阅读完需:约 3 分钟

用这个开源工具,提前为你的 WebRTC 应用排个雷(二)

检测麦克风

第一步:使用 AgoraRTC.createStream 创建音频流


第二步:使用 stream.getAudioLevel 来检测当前的音量


/** create an audio stream and try to init/play it /AgoraRTC.createStream(): stream/*


  • accumulate audio level to check

  • if it is in an ideal range

  • */

  • stream.getAudioLevel(): number


检测扬声器

在这里,我们直接使用了 HTML5 的音频组件,让用户来确认是否听到了正在播放的音频。


测分辨率

第一步:使用 AgoraRTC.createStream 基于不同的参数创建视频流


第二步:使用 HTMLVideoElement 来获取视频的分辨率


/** Create stream with different video profiles */AgoraRTC.createStream(): stream/** Get actual resolution from html element */HTMLVideoElement.videoHeightHTMLVideoElement.videoWidth
复制代码


检测网络连接

第一步:使用 AgoraRTC.createClient 来创建一个发送客户端和一个接收客户端


第二步:使用 AgoraRTC.createStream 创建流


第三步:使用 client.publish 从发送客户端发布流


第四步:使用 client.subscribe 将发送的流订阅至接收客户端


第五步:使用 stream.getStats 获取网络连接状态数据


/** * Create two clients: a sender which will publish * a regular stream, and a receiver which will subscribe the * stream published by the sender. */AgoraRTC.createStream(): stream/** Get stream tranfer info by using getStats */stream.getStats(callback: (stats:any) => void): void
复制代码


检测摄像头

向用户询问是否开启摄像头,如果确认开启,则在画面中显示用户摄像头采集到的图像。


测试工具的修改


如果你是 Agora 开发者,想要修改出一个适用于自己应用的测试工具,可以按照以下步骤操作:


1.将你的 App ID 填写到 ./src/utils 目录下的 settings.js 文件中。


2.安装 dependencies


npm install
复制代码


3.在本地运行应用


npm run dev
复制代码


在浏览器访问 localhost:8080


4.Build 应用


npm run build
复制代码


创建文件需要 HTTP 服务器。


完成以上步骤后,你也可以将它集成到自己的应用中,并根据需要,修改 UI。在用户使用产品之前,可以进行运行环境的检测,帮你提前排雷,提高用户体验。


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接:


https://mp.weixin.qq.com/s/BPaj4p1auMb_1JyazhpElQ


2019 年 11 月 30 日 22:38416

评论

发布
暂无评论
发现更多内容

2021版金三银四Java面试突击手册开源(涵盖p5-p8技术栈),“吊打”面试官的“葵花宝典”

Java 编程 程序员 架构 面试

Flink程序优化及反压机制

大数据技术指南

flink 3月日更

oktoken对冲合约软件APP开发|oktoken对冲合约系统开发

系统开发

爆肝一周总结了一份Java学习/面试自测指南!200+道Java最常见面试题。

Java架构之路

Java 程序员 架构 面试 编程语言

MapReduce的运行机制详解

五分钟学大数据

hadoop 3月日更

K8s 原生 Serverless 实践:ASK 与 Knative

阿里巴巴云原生

Serverless 容器 云原生 k8s 存储

设计模式--享元模式

学Java的猪猪侠

字节跳动5面喜提offer!分享给朋友们面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

Apache Iceberg学习日志

InfoQ_Springup

数据湖

硬件测试的思考和改进:有道词典笔的高效测试探索

有道技术团队

大前端

操作系统--虚拟存储器概述

学Java的猪猪侠

浅论指针(一)

Integer

c c++ 指针

后端服务器网络编程之 IO 模型

Linux服务器开发

后端 网络编程 web服务器 Linux服务器开发 网络io

会声会影最新版:会声会影2021中文版它来啦!

奈奈的杂社

视频剪辑 视频后期 自媒体 视频处理 会声会影

源码解读:KubeVela 是如何将 appfile 转换为 K8s 特定资源对象的

阿里巴巴云原生

容器 云原生 k8s API 应用服务中间件

关系数据理论是个什么牛马

学Java的猪猪侠

通俗地理解面向服务的架构(SOA)以及微服务之间的关系

守护石

微服务 软件架构 ESB SOA BPM

中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先

阿里巴巴云原生

阿里云 Serverless 容器 开发者 云原生

2021面试跳槽宝典:BATJ大厂核心面试解析600题

比伯

Java 架构 面试 程序人生 计算机

oktoken跟单社区系统开发|oktoken跟单社区APP软件开发

系统开发

怎样从零开始设计一个数据库

学Java的猪猪侠

「产品经理训练营」第八章作业

Sòrγy_じò ぴé

又是一些小细节!3面成功入职字节跳动:算法+数据库+中间件+JVM

Java架构之路

Java 程序员 架构 面试 编程语言

引入单点登录,需要考虑哪些问题?

龙归科技

SSO 单点登录

一年增加 1.2w 星,Dapr 能否引领云原生中间件的未来?

阿里巴巴云原生

容器 微服务 云原生 k8s 中间件

【操作系统】存储器管理

学Java的猪猪侠

浅论指针(二)

Integer

c 指针

缓存为什么会被污染?

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

技术中台之DevOps动态表单体系构建

EAWorld

户口?大厂?高薪?生活?聊聊应届程序员的职业选择

流沙

职业发展

用这个开源工具,提前为你的 WebRTC 应用排个雷(二)_文化 & 方法_声网_InfoQ精选文章