我在MediaRecorder上遇到问题。我在项目文档中读到,不支持某些浏览器。
this.mediaRecorder.ondataavailable = function(e) {
this.chunks = [];
this.chunks.push(e.data);
const clipContainer = document.createElement('article');
const audio = document.createElement('audio');
const soundClips = document.querySelector('.sound-clips');
clipContainer.classList.add('clip');
audio.setAttribute('controls', '');
clipContainer.appendChild(audio);
soundClips.appendChild(clipContainer);
audio.controls = true;
const blob = new Blob(this.chunks, { type: 'audio/ogg; codecs=opus' });
this.chunks = [];
const audioURL = window.URL.createObjectURL(blob);
audio.src = audioURL;
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
let base64 = reader.result;
base64 = base64.split(',')[1];
document.getElementById('base64').innerText = base64;
};
};
我需要从客户端执行的语音记录生成base64。我在上面的代码中得到的结果令人满意,但是,这在iPhone上不起作用。我想知道这段代码或其他允许我在任何浏览器中记录音频的组件都可以做