# 文档
## 前置步骤
1. 将dist目录下`processor.worker.js`、`processor.worklet.js`复制到项目目录中,使其可以通过浏览器地址栏访问,
2. 浏览器录音权限需要在localhost、127.0.0.1或https下
## RecorderManager
浏览器录音管理器
## 方法
### RecorderManager.constructor(processorPath)
构造函数
> `processorPath`是 `processor.worker.js`、`processor.worklet.js`的路径地址,如果访问地址`/a/b/c/processor.worker.js`,则processorPath为`/a/b/c`
### RecorderManager.start(Object object)
开始录音
Object object
| 属性 | 类型 | 默认值 | 必填 | 取值范围 | 说明 |
| ------ | ------ | ------ | ------ | ------ | ------ |
| sampleRate | number | 浏览器默认采样率 | 否 | 8000 ~ 96000 | 采样率 |
| frameSize | number | - | 否 | >0 | 指定帧大小,传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。ps:在不支持设置采样率的浏览器下,录音分片数据会比此处设置的值大 |
| arrayBufferType | string | - | 否 | "short16" "float32" | 音频数据ArrayBuffer类型 |
### RecorderManager.stop()
停止录音
> 调用stop后,还需要等待浏览器处理完已经录制的音频后才会真正结束,需要在停止录音成功后做的处理请在`.onStop`回调中处理
### RecorderManager.onStart = function listener
监听录音开始事件
### RecorderManager.onStop = function listener
监听录音结束事件
```js
const listener = (audioBuffers: ArrayBuffer[]) => {}
```
| 属性 | 类型 | 说明 |
| ------ | ------ | ------ |
| audioBuffers | ArrayBuffer[] | 录音分片数据数组 |
### RecorderManager.onFrameRecorded = function listener
监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。
```js
const listener = ({isLastFrame, frameBuffer} : {
isLastFrame: boolean;
frameBuffer: ArrayBuffer;
}) => {}
```
| 属性 | 类型 | 说明 |
| ------ | ------ | ------ |
| isLastFrame | boolean | 当前帧是否正常录音结束前的最后一帧 |
| frameSize | ArrayBuffer | 录音分片数据 |
## 示例代码
```js
const recorder = new RecorderManager ("../../dist");
recorder.onFrameRecorded = ({ isLastFrame, frameBuffer }) => {
console.log(isLastFrame, frameBuffer)
};
recorder.onStop = (audioBuffers) => {
console.log(audioBuffers)
}
recorder.start({
sampleRate: 16000,
frameSize: 1280,
});
setTimeout(() => {
recorder.stop()
}, 60000)
```
## 听写示例
查看example/iat
将example/iat/index.html下面的值替换成真实的值
```js
var APPID = "xxx";
var API_SECRET = "xxx";
var API_KEY = "xxx";
```
## 实时语音转写
查看example/rtasr
将example/rtasr/index.html下面的值替换成真实的值
```js
var APPID = "xxx";
var API_KEY = "xxx";
```
### 运行
1. 安装 `npm install -g http-server`
2. 运行 `http-server .`
3. 浏览器打开听写示例:http://127.0.0.1:xxx/example/iat/index.html
4. 浏览器打开实时语音转写示例:http://127.0.0.1:xxx/example/rtasr/index.html
没有合适的资源?快使用搜索试试~ 我知道了~
AI语音科大讯飞智能api【web端接口调用实现语音识别】webscoket调试试用
共16个文件
js:12个
html:2个
ts:1个
3 下载量 88 浏览量
2023-11-07
14:16:17
上传
评论
收藏 62KB ZIP 举报
温馨提示
使用web形式实现语音识别
资源推荐
资源详情
资源评论
收起资源包目录
example.zip (16个子文件)
dist
index.umd.js 4KB
index.cjs.js 4KB
processor.worker.js 4KB
processor.worklet.js 7KB
index.d.ts 885B
index.esm.js 4KB
example
fast-xml-parser.min.js 15KB
enc-base64-min.js 1KB
md5.js 9KB
crypto-js.js 206KB
HmacSHA1.js 9KB
hmac-sha256.js 5KB
ise
index2.html 400B
index.html 1KB
index.js 7KB
README.md 3KB
共 16 条
- 1
资源评论
搬砖的小编
- 粉丝: 90
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功