浏览器录音的实时识别let constraints = { audio: true, video: false};let getMedia = navigator.mediaDevices || navigator.webkitGetUserMedia;if (getMedia) { getMedia.getUserMedia(constraints).then(mediaStream => { //音频可视化与实时语音识别 //使用 audioContext 来分析音频流 this.audioContext = new ( ...
前端页面使用 mediaRecorder 录音
MediaRecorder 是 MediaStream Recording API 提供的用来进行媒体轻松录制的接口, 需要通过调用 MediaRecorder() 构造方法进行实例化. 流程 首先调用浏览器 api 获取录音权限,开始录音,作为录音器的输入源.也可以使用 video 或者 audio 标签中的声源,同时可以配合 videojs 实现直播流的录音和录像功能. 实例化 MediaRecoder(let mediaRecoder = new MediaRecoder) 开始录音 (mediaRecoder.start()) 结束录音(mediRecoder.stop()), ...
微信小程序开发踩坑记录一(获取用户信息)
先放一篇微信更改获取用户接口的公告,可以感受一下广大开发者的怒火.链接 我使用的 jd 的 taro 框架,其中有一个 taro.getUserInfo接口,调了半天发现不能用,仔细读了微信官方的公告才发现这个接口已经被他们废除了,现在只能通过按钮设置openType,来手动获取用户信息. wx 小程序实现代码 taro 代码如下: render() { return ( <View className="index"> <Button openType="getUserInfo" onGetUserInfo={this.on ...
arraybuffer
The ArrayBuffer is a data type that is used to represent a generic, fixed-length binary data buffer. You can’t directly manipulate the contents of an ArrayBuffer; instead, you create an ArrayBufferView object which represents the buffer in a specific format, and use that to read and write the conte ...
nodejs(koa)中封装网络请求
#1封装 axios const axios = require("axios");// // axios 配置// axios.defaults.timeout = 5000;// // axios.defaults.withCredentials = true;// // axios.defaults.baseURL = "https://api.github.com";// // http request 拦截器// axios.interceptors.request.use(// config => {// // config.headers['conte ...
docker部署 mysql
why在 linux 中部署 mysql 是一件比较复杂的事情,使用 docker 部署可以减少很多麻烦. how拉取 mysql 镜像这里我们使用 mysql:5.7 镜像 docker pull mysql:5.7 创建 mysql 镜像并后台启动docker run -d -p 3306:3306 -e MYSQL_USER="user" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqlService mysql:5.7 --character-set-server=utf8 --collati ...
封装 axios
axios 的封装安装 axiosnpm install axios; // 安装axios 引入 axios在项目目录下新建 http 文件夹,并在 http 文件夹下新建 http.js,用来封装 axios 以及各种方法,新建 api.js 用来统一管理接口. // http.jsimport axios from "axios";import { Notification } from "element-ui";import router from "./../router/index";// axios 配置//设置 axios 超时axios.defaults. ...
debounce在vue 中的使用
什么是 debounce n. 防反跳按键防反跳(Debounce)为什么要去抖动呢?机械按键在按下时,并非按下就接触的很好,尤其是有簧片的机械开关,会在接触的瞬间反复的开合多次,直到开关状态完全改变。大学时候做过电子实验的都知道,按键的时候需要加上消抖函数. debounce 的使用场景 调整页面宽度 ,resize 时,避免频繁渲染导致页面卡顿 输入框输入搜索🔍条件,为了优化体验,没有设置搜索按钮,但是尽量减少 api 调用 … JavaScript 实现 debounceJavaScript 实现 debounce 利用了闭包的概念. function debounce(fn, w ...
node 项目连接 ldap
ldap 简单介绍ldap 是一种树形数据库,一般用于存储公司员工相关信息. 使用 ldap 模块查询用到 ldap 模块,使用 npm 安装:npm i ldapjs -S 使用: const ldap = require("ldapjs");const ldapConfig = { url: "ldap://10.20.21.24" };const opts = { // filter: "", //查询条件过滤器,查找uid=kxh的用户节点 // scope: "", //查询范围 timeLimit: 5 //查询超时};modu ...
nodejs 实现 jwt 鉴权
当前 session 认证存在的问题当前 session 认证的流程为: 1、用户向服务器发送用户名和密码 2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等 3、服务器向用户返回一个 session_id,写入用户的 Cookie 4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器 5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份 如果服务器做了集群,就要求 session 共享,这样提高了开发的难度,所有的 session 都要放在持久层供服务器存取,一旦持久层出现问题,服务也就挂掉 ...