前端将麦克风流保存到pcm文件中
时间: 2024-02-15 07:02:48 浏览: 37
前端可以使用Web API中的MediaRecorder接口来录制音频并保存为PCM文件。以下是一个简单的示例代码:
```javascript
const constraints = { audio: true };
navigator.mediaDevices.getUserMedia(constraints)
.then(stream => {
const mediaRecorder = new MediaRecorder(stream);
const audioChunks = [];
mediaRecorder.addEventListener("dataavailable", event => {
audioChunks.push(event.data);
});
mediaRecorder.addEventListener("stop", () => {
const audioBlob = new Blob(audioChunks, { type: "audio/wav" });
const audioUrl = URL.createObjectURL(audioBlob);
const downloadLink = document.createElement("a");
downloadLink.href = audioUrl;
downloadLink.download = "audio.pcm";
downloadLink.click();
});
mediaRecorder.start();
setTimeout(() => {
mediaRecorder.stop();
}, 5000);
})
.catch(error => {
console.log(error);
});
```
该代码使用getUserMedia方法获取用户的麦克风流,然后创建MediaRecorder实例来录制音频。在每次数据可用时,将数据存储在audioChunks数组中。当录制停止时,将audioChunks数组中的数据创建为Blob对象,并将其保存为PCM文件。最后,创建一个下载链接,让用户可以下载保存的文件。