webrtc实现浏览器录音并保存文件
时间: 2024-02-05 07:11:36 浏览: 123
WebRTC是一种实时通信技术,可以在浏览器中实现音视频流的实时传输。要实现浏览器录音并保存文件,可以使用WebRTC的MediaStream API和Recorder.js库。
首先,使用getUserMedia方法获取麦克风的音频流,然后将其传递给Recorder.js库进行录音。Recorder.js库可以将录音数据转换为WAV格式,并提供保存文件的功能。
以下是一个简单的示例代码:
```
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
const options = { mimeType: 'audio/wav' };
const recorder = new Recorder(stream, options);
// 开始录音
recorder.record();
// 停止录音并保存文件
setTimeout(() => {
recorder.stop();
recorder.exportWAV(blob => {
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = 'recording.wav';
link.click();
});
}, 5000); // 录音5秒钟
})
.catch(error => {
console.error('getUserMedia error:', error);
});
```
在上面的代码中,我们首先调用getUserMedia方法获取麦克风的音频流。然后,我们创建一个Recorder对象并调用record方法开始录音。在5秒钟后,我们调用stop方法停止录音并将录音数据转换为WAV格式。最后,我们创建一个下载链接并触发点击事件以下载录音文件。
需要注意的是,getUserMedia方法只能在HTTPS网站上使用。如果您的网站不是HTTPS,请使用localhost进行测试。
阅读全文