随笔分类 - 经验笔记
里面乱七八糟的真是什么都有
摘要:假设需要的包为jquery 查看包版本信息 查看最新版本 npm view jquery version 查看所有版本 npm view jquery versions 安装指定版本 在package.json里修改好指定版本号,然后输入: npm update jquery 更新至指定版本,但是不
阅读全文
摘要:folium安装 我是直接使用anaconda prompt安装:pip install folium 绘制路径 folium的坐标系是WGS84坐标系。 import folium import os import pandas as pd import numpy as np def read_
阅读全文
摘要:setState更新数组 你会发现,如果直接使用push等方法改变state,按理来说,push会改变原数组,数组应该更新,但渲染出来的state并不会更改 let newValue = 1; const [array, setArray] = useState([]); const handleC
阅读全文
摘要:React hook useState useState是最常用的hook了,就不介绍了。 useState可以通过调用callback获取最新的state。方便解决异步调用时获取的state是创建异步时的state而无法获取到最新state的情况。 const [state, setState]
阅读全文
摘要:Array属性及方法 array.length:数组长度 Array.isArray():判断变量是否是数组对象 Array.of():根据一组参数来创建新的数组实例,支持任意的参数数量和类型。 Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3]
阅读全文
摘要:参考:HTML5制作好玩的麦克风音量检测器(Web Audio API) 使用createScriptProcessor方法创建一个音频分析对象,获取audiobuffer,然后将音频转换为包含了PCM通道数据的32位浮点数组。 具体步骤: 运用Web Audio API来获取麦克风的音频流数据,从
阅读全文
摘要:感觉这篇文章关于前端二进制处理写的很好,参考一下。引用:前端中的二进制以及相关操作与转换 本篇文章总结了浏览器端的二进制以及有关数据之间的转化,如 ArrayBuffer,TypedArray,Blob,DataURL,ObjectURL,Text 之间的互相转换。为了更好的理解与方便以后的查询,特
阅读全文
摘要:前端实现音频剪切,实际上是把需要的部分复制出来。 剪切audiobuffer 引用:JS纯前端实现audio音频剪裁剪切复制播放与上传 实现的原理很简单,创建一个空的AudioBuffer,复制现有的通道数据前3秒的数据,然后复制的内容写入到这个空的AudioBuffer,于是我们就得到了一个剪裁后
阅读全文
摘要:1. 使用Audio获取duration let audioUrl; let duration = 0; const processDuration = (blob: Blob) => { const reader = new FileReader(); reader.onloadend = e =
阅读全文
摘要:拼接audiobuffer 获取一个audiobuffer数组,然后把audiobuffer拼接起来。(我没尝试成功) export const mergeAudios = (buffers: AudioBuffer[], sampleRate: number) => { const context
阅读全文
摘要:今天要给100亿个数字排序,100亿个 int 型数字放在文件里面大概有 37.2GB,非常大,内存一次装不下了。那么肯定是要拆分成小的文件一个一个来处理,最终在合并成一个排好序的大文件。 实现思路 1.把这个37GB的大文件,用哈希分成1000个小文件,每个小文件平均38MB左右(理想情况),把1
阅读全文
摘要:流程: 使用scriptprocessor记录前端音频流,转换成Float32Array 将Float32Array转换成16bit PCM 计算公式:引用:如何计算音频dB级别? 代码: function floatTo16BitPCM(output: DataView, offset: numb
阅读全文
摘要:我正在使用MediaStreamRecorder.js库进行Java音频捕获。我发现的唯一问题是,当我单击“停止”以停止录制时,该选项卡上的红色录制图标仍在那里。 解决: navigator.getUserMedia(mediaConstraints, function(stream) { wind
阅读全文
摘要:使用fastjson包。 代码: import java.io.*; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; class ClassA { public String n
阅读全文
摘要:import java.nio.file.Path; import java.nio.file.Paths; public class temp { public static void main(String[] args) { Path pathAbsolute = Paths.get("src
阅读全文
摘要:1. 使用npm已有包 安装包:npm install audiobuffer-to-wav --save 用例: var toWav = require('audiobuffer-to-wav') var xhr = require('xhr') var context = new AudioCo
阅读全文
摘要:1. 参考Audio-Resampler // 调用audioBufferToWav import { audioBufferToWav } from "./audiobuffer-to-wav"; const getArrayBuffer = (url: string): Promise<Arra
阅读全文
摘要:例如我们希望输出的数字长度是固定的,假设为10,如果数字为123,则输出0000000123,不够位数就在之前补足0,这里提供了三种不同的方式实现JS代码给数字补0的操作: 方法1 function PrefixInteger(num, length) { return (num/Math.pow(
阅读全文
摘要:设置另一个button和text替代input file,隐藏input file。 <input type="file" id="tts-input-text" accept="text/plain" onChange={readFile} onClick={(e: any) => (e.targ
阅读全文
摘要:将其value置为null <input type="file" id="tts-input-text" accept="text/plain" onChange={readFile} onClick={ (e: any) => ( e.target.value = null )} /> //点击时
阅读全文