由于我对摄影感兴趣,我认为为Firefox OS提供一个具有延时功能的相机应用程序会很好。我开始做一些研究,但我发现我需要一个经过认证的应用程序才能在没有用户交互的情况下使用相机。(通过摄像头API)
在这一点上,我开始寻找一种方法,通过某种方式甚至欺骗操作系统来启用自定义认证的应用程序,或者我不知道。当我找不到在实际手机上实现这一点的任何方法时(有些人可以在某些特定的模拟器版本中实现这一目标,但在基于摄像头的应用程序中,这毫无意义),我甚至开始考虑修改内置的摄像头应用程序,但我认为这需要重新编译整个操作系统。
(我从github下载了GAIA源代码,并试图在手机上安装一个稍微修改过的相机应用程序版本,但尽管它启动了,但在实时视图之外的地方有一块空白,根本不起作用。)
我真的很感激任何实现这一目标的工作方法,甚至是一些我可以尝试的想法。
我也欢迎任何导游告诉我如何使用GAIA做到这一点。
提前感谢!
WebRTC(getUserMedia)音频已在1.2中发布,但getUserMedia视频将在Firefox 1.4中得到支持。
对于这种应用程序,你应该从现在开始尝试webRTC(更具体的是:getUserMedia),它可以在桌面浏览器或Android版的Firefox上进行测试。
因此,一旦平台支持该标准,您的应用程序就可以毫无问题地运行。
我已经通过设置成功完成了
user_pref("devtools.debugger.forbid-certified-apps", false);
在B2G prefs.js中,然后从应用程序管理器调试相机应用程序并运行以下程序:
setInterval(function(){document.getElementById('capture-button').click();}, 5000);
我知道这是一个非常糟糕的解决方案,但它正在发挥作用,我这样做主要是为了证明自己这样的事情是可能的。:)
ps.:你可以拔下手机插头,它仍然会每5秒拍一张照片:)
据我所知,如果目标是将您的应用程序发布到市场上以便消费者可以使用,目前还没有办法实现这一目标。正如您所注意到的,Camera API仅适用于经认证的应用程序:如果您不是OEM或运营商,就没有办法达到这一水平。目前,唯一的选择是为相机使用pick Web Activities,但它需要用户的输入,因此对延时应用程序没有用处。你现在唯一能做的就是使用"网络活动",让用户自己拍照,然后用它创建一个视频,但这将是一个手动的拍照过程。请密切关注相机API,因为没有在石头上设置权限级别,它可能会在未来发生变化。
使用经过认证的API的唯一方法是构建自己的B2G,并将经过认证的应用程序添加到其中,但这不是部署应用程序的解决方案。