recorder-js使用教程
时间: 2024-01-03 07:04:06 浏览: 183
1. 安装 recorder-js
可以通过 npm 包管理工具进行安装:
```
npm install recorder-js
```
2. 导入 recorder-js
在需要使用 recorder-js 的文件中,可以通过以下方式导入 recorder-js:
```
import Recorder from 'recorder-js';
```
3. 创建 Recorder 实例
创建 Recorder 实例的方式如下:
```
const recorder = new Recorder({
sampleRate: 44100,
numChannels: 2,
});
```
在创建实例时,可以传递一个包含采样率和声道数的配置对象。
4. 开始录制
要开始录制,可以使用 Recorder 实例的 `start` 方法:
```
recorder.start();
```
5. 停止录制
停止录制可以使用 Recorder 实例的 `stop` 方法:
```
recorder.stop();
```
6. 导出录制的音频
可以使用 Recorder 实例的 `exportWAV` 方法导出录制的音频文件:
```
recorder.exportWAV((blob) => {
const url = URL.createObjectURL(blob);
// do something with the audio blob URL
});
```
在导出音频时,需要传递一个回调函数,该函数接收一个包含音频文件数据的 Blob 对象。可以使用 `URL.createObjectURL` 方法将 Blob 对象转换为可用于播放或下载的 URL。
7. 可选步骤:添加事件监听器
可以为 Recorder 实例添加事件监听器,以便在录制或导出音频时获取一些状态或错误信息。例如,可以添加 `dataAvailable` 事件监听器,在导出音频时获取 Blob 对象:
```
recorder.addEventListener('dataAvailable', (e) => {
const url = URL.createObjectURL(e.detail);
// do something with the audio blob URL
});
```
8. 完整示例
以下是一个使用 recorder-js 录制音频并导出音频文件的完整示例:
```
import Recorder from 'recorder-js';
const recorder = new Recorder({
sampleRate: 44100,
numChannels: 2,
});
let isRecording = false;
// start recording
document.getElementById('start').addEventListener('click', () => {
isRecording = true;
recorder.start();
});
// stop recording and export audio
document.getElementById('stop').addEventListener('click', () => {
isRecording = false;
recorder.stop();
});
// export audio when data is available
recorder.addEventListener('dataAvailable', (e) => {
const url = URL.createObjectURL(e.detail);
// do something with the audio blob URL
});
// continuously record audio while isRecording is true
recorder.addEventListener('dataAvailable', (e) => {
if (isRecording) {
recorder.start();
}
});
// play recorded audio
document.getElementById('play').addEventListener('click', () => {
recorder.exportWAV((blob) => {
const url = URL.createObjectURL(blob);
const audio = new Audio(url);
audio.play();
});
});
```
阅读全文