Javascript MediaRecorder-暂停和恢复事件不';我不能在Firefox中工作
我试着把我的脑袋绕过去,所以我编写了一个简单的web应用程序,可以启动、暂停、恢复和停止录音。代码似乎工作正常,直到我在Firefox(最新版本)中进行了测试 Javascript代码:Javascript MediaRecorder-暂停和恢复事件不';我不能在Firefox中工作,javascript,firefox,webrtc,mozilla,mediarecorder,Javascript,Firefox,Webrtc,Mozilla,Mediarecorder,我试着把我的脑袋绕过去,所以我编写了一个简单的web应用程序,可以启动、暂停、恢复和停止录音。代码似乎工作正常,直到我在Firefox(最新版本)中进行了测试 Javascript代码: var mediaRecorder = null, constraints = { audio: true }; function onSuccess( stream ) { mediaRecorder = new MediaRecorder( stream ); function getS
var mediaRecorder = null,
constraints = { audio: true };
function onSuccess( stream ) {
mediaRecorder = new MediaRecorder( stream );
function getStatus() {
alert('The mediaRecorder is ' + mediaRecorder.state);
}
mediaRecorder.onstart = getStatus;
mediaRecorder.onpause = getStatus;
mediaRecorder.onresume = getStatus;
mediaRecorder.onstop = getStatus;
}
var onError = function(err) {
console.log('Error: ' + err);
}
navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);
<button type="button" onclick="mediaRecorder.start()">Start</button>
<button type="button" onclick="mediaRecorder.pause()">Pause</button>
<button type="button" onclick="mediaRecorder.resume()">Resume</button>
<button type="button" onclick="mediaRecorder.stop()">Stop</button>
Html代码:
var mediaRecorder = null,
constraints = { audio: true };
function onSuccess( stream ) {
mediaRecorder = new MediaRecorder( stream );
function getStatus() {
alert('The mediaRecorder is ' + mediaRecorder.state);
}
mediaRecorder.onstart = getStatus;
mediaRecorder.onpause = getStatus;
mediaRecorder.onresume = getStatus;
mediaRecorder.onstop = getStatus;
}
var onError = function(err) {
console.log('Error: ' + err);
}
navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);
<button type="button" onclick="mediaRecorder.start()">Start</button>
<button type="button" onclick="mediaRecorder.pause()">Pause</button>
<button type="button" onclick="mediaRecorder.resume()">Resume</button>
<button type="button" onclick="mediaRecorder.stop()">Stop</button>
开始
暂停
简历
停止
我发现,在Firefox中,当单击pause时,mediaRecorder实际上是暂停的,但它不会触发暂停事件(onpause),对于resume也是如此
问题:有办法解决这个问题吗?不幸的是,这是一个解决方案,我发现了这个很棒的跨浏览器库,它对我来说非常有用:有些已知的bug,请参阅@PhilippHancke非常感谢,这很有意义。该漏洞是一年前报告的!?!,idk为什么他们没有修好它@PhilippHancke这台MediaRecorder似乎非常不稳定。@CryptoBird因为它偶然发现了一个不清楚的区域。@Dexter你太棒了,现在图片非常清晰。祝贺你们,错误已经修复了