我正在尝试录制音频,并将其上传到服务器使用javascript.I。我正在使用录音机js由马特Diamond.But的问题是文件生成是0分钟。通过firebug控制台进行调试时,发现audiocontext属性已挂起。当googled找到录音时,音频上下文的状态应该是running状态。我不知道这个问题到底是由状态引起的,还是我错过了什么。想知道是什么导致音频上下文的状态处于挂起模式。如果我在其他浏览器上尝试,则状态为running并且正在生成文件。但是我的限制是我想在我的应用程序中使用firefox
Firefox版本: 42.0
下面是代码
if(audioRecorder)
{
audioRecorder.clear();
audioRecorder.record();
setTimeout(stopRecorder,9000); // 9 secs
}
function stopRecorder()
{
if(audioRecorder)
{
audioRecorder.stop();
audioRecorder.exportWAV(function(blob){
alert("Blob size : "+blob.size);
// code for sending the blob to server
});
}
}
调试时,firebug音频上下文中的上述代码被挂起。
提前感谢
发布于 2016-05-16 17:21:29
这不是一个直接的答案,但它解决了这个问题,取自我的另一个answer,如果你只需要发送音频文件到服务器,而不是使用笨重的未压缩的wav
文件,你可以很容易(和本地)使用MediaRecorder API录制压缩的ogg
格式的音频,在火狐中支持v25,从v47开始支持chrome。
发布于 2016-05-19 03:41:36
创建了一个JSFiddle并对其进行了多次测试-在Firefox42Macosx上工作正常
function createDownloadLink() {
recorder && recorder.exportWAV(function(blob) {
var url = URL.createObjectURL(blob);
var li = document.createElement('li');
var au = document.createElement('audio');
var hf = document.createElement('a');
au.controls = true;
au.src = url;
hf.href = url;
hf.download = new Date().toISOString() + '.wav';
hf.innerHTML = hf.download;
li.appendChild(au);
li.appendChild(hf);
recordingslist.appendChild(li);
});
上工作正常
Issue 139有时会在firefox #139
上创建0.0持续时间的wav文件
https://stackoverflow.com/questions/33979606
复制相似问题