在Firefox OS设备或模拟器上进行音频捕获

时间:2014-05-27 12:44:05

标签: javascript audio permissions firefox-os

我正在努力让音频捕获在Firefox OS上运行(v1.3,虽然我已经尝试过Firefox OS 2但也无法正常工作)但是我很难让它运转起来。

我已将以下内容添加到manifest.webapp:

permissions": {
    "audio-capture": {},
  }

然后我在文件recorder.js中有以下代码:

window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();

function initAudio()
{
    window.alert( "Trying..." );
    navigator.mozGetUserMedia(  {
                                audio: true,
                                video: false
                            },
                            function( stream )
                            {
                                window.alert( "GO!" );
                            },
                            function( error )
                            {
                                window.alert( "ERROR! :(" );
                            } );


}

window.addEventListener('load', initAudio );

应用程序启动时会调用“Trying ...”消息,但我从未看到“GO!”或者“错误!:(”。有没有人对如何使这个工作有任何想法?这似乎没有意义。通过firefox(浏览器)的相同代码似乎工作正常。我被要求给予音频捕获许可然后我看到了“GO!”消息。

所以有人知道如何在firefox OS下运行吗?

1 个答案:

答案 0 :(得分:2)

我的一位同事破解了它。它根本不适用于模拟器,但在实际设备上将清单“类型”设置为“web”解决了问题(我们最初将其选为“特权”!)。

极度混乱,因为它说你必须“至少”托管它才能工作,而且我们可以说“web”是一种比“托管”更小的类型,而“特权”是一种比“web”更大的类型“和”托管“。

希望拯救某人我们刚刚经历的2天痛苦!