如何解决在Vue js中录制声音
我有一个 Vue.js 项目,我需要在其中录制语音。 我写了一些代码,它的工作原理是用户可以收听他们录制的声音,但我遇到了一个问题:我想允许用户下载他们的声音,但是当他们点击下载时,他们会收到一个 .txt 编码的文件。
这些是我开始和停止录制的函数:
startRecord(){
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
this.mediaRecorder = new MediaRecorder(stream);
this.mediaRecorder.start(1000);
const self = this
this.mediaRecorder.ondataavailable = function(event:any) {
self.audioChunks.push(event.data);
}
});
}
stopRecord(){
const self = this
this.mediaRecorder.stop();
this.mediaRecorder.addEventListener("stop",() => {
const audioBlob = new Blob(self.audioChunks);
self.recordedVoice = URL.createObjectURL(audioBlob)
});
}
然后我像这样将 self.recordVoice
传递给音频组件:
<audio controls class="" >
<source :src="recordedVoice" type="audio/mpeg">
</audio>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。