HTML5录制在Firefox中无法工作

6

我正在使用 recorder.js 和 Recordmp3.js 来通过麦克风录制音频。

在 Chrome 浏览器中它运行良好,但在 Firefox (最新版本) 中却不行。

当我在 Firefox 浏览器上打开我的网页应用时,它会要求我分享麦克风,但几秒钟后它就消失了。因此,由于这个原因,在 Firefox 上无法录制任何音频。

我正在分享一个使用 Recordmp3.js 开发的工作示例,但它在 Firefox 中无法工作。

http://audior.ec/recordmp3js/

这是已知的问题吗?


1
我在Windows 7中使用Firefox 34,遇到的问题是,一段时间后,轻信号音频捕获消失了。我注意到代码中stream引用没有被存储在任何地方,因此在Firefox中可能会被垃圾回收,从而导致问题。 - mido
1个回答

2

我是正确的,问题在于audioStream元素被垃圾回收了,我从github下载了代码并进行了修改。

修改后的代码如下:

var audio_context;
var recorder;

function startUserMedia(stream) {
    var input = audio_context.createMediaStreamSource(stream);

转换为

var audio_context;
var recorder;
var localStream; // line added by me

function startUserMedia(stream) {
    localStream = stream; // line added by me
    var input = audio_context.createMediaStreamSource(stream);

因此,确保stream不被垃圾回收。

P.S :

需要注意的事项:

1: MP3编码/解码技术可能受某些国家的MP3专利管制。出于商业目的,建议使用vorbis/ogg方式(我认为将wav转换后的mp3质量很差)。

2: 我发现录音中存在额外50%的静默问题,但如果我没记错的话,已经有解决方案在网上发布。

编辑:我在github上添加了一个演示。


1
现在录制功能可以使用了,但每当我点击停止按钮时,我的Firefox/PC就会卡住。你遇到过同样的问题吗? - pratik nagariya
是的,不完全是卡住了,转换成mp3确实花了很多时间。 - mido
但是在Chrome上运行非常顺畅。 - pratik nagariya
抱歉,我不知道为什么在ff中速度如此缓慢。 - mido
好的,非常感谢您的支持。 - pratik nagariya
我也遇到了FF卡顿的问题。 - Dewsworld

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接