- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 FirefoxOS 中使用 Camera API 时遇到一些问题。我正在尝试拍摄这样的照片:
var options = {
mode: 'picture',
recorderProfile: 'jpg',
previewSize: {
width: 352,
height: 288
}
};
function successCamera(newCamera) {
console.log("Succeeded loading camera");
function successPicture(pictureBlob){
console.log("Took picture");
}
function errorPicture(error) { console.log("Issue taking picture " + error); }
var picture = newCamera.takePicture(options, successPicture, errorPicture);
}
function errorCamera(error) {
console.log("Error loading camera. " + error);
console.warn(error);
}
navigator.mozCameras.getCamera("back", options, successCamera, errorCamera);
它给出了一个名为:HardwareClosed 的错误。我找不到太多关于此错误的信息,所以我只想在此处检查 StackOverflow,看看是否有人遇到过问题/知道这里的问题是什么。
感谢您提供的任何帮助!
最佳答案
HardwareClosed(内部映射到 NS_ERROR_NOT_INITIALIZED)可以由 getCamera 和 takePicture 调用返回。
如果是getCamera调用失败,可能是因为相机已经打开(在这个应用中,或者在另一个应用中),需要先释放。在未来的 Firefox OS 版本中,这将由 https://bugzilla.mozilla.org/show_bug.cgi?id=1073017 修复。以便新应用程序可以从旧应用程序“拿走”相机。
如果是 takePicture 调用失败(可能不是您的情况),那是因为在您调用 takePicture 之前相机已经被释放。那可能是你调用了 release 或某些驱动程序错误迫使相机关闭。
一些其他(不相关的)建议:
请注意,recorderProfile 无效。这样的事情会更合适:
var options = {
mode: 'picture',
recorderProfile: 'high',
previewSize: {
width: 352,
height: 288
}
};
Firefox OS 的更高版本(最新的 2.2,master)会验证 recorderProfile,如果您提供“jpg”,则会拒绝该配置。
回调语法在后来的相机 API 版本中被删除,并切换为 promises 和 events。如果您能够将 2.2 版本升级到最新版本(今年的版本),它会自动为您选择最佳配置,即:
navigator.mozCameras.getCamera("back").then(successCamera, errorCamera);
会选择与您的窗口大小最接近的匹配预览大小,以及与所选可用预览大小匹配的最高纵横比图片大小。这与股票相机应用程序的工作方式相同。
takePicture 和 getCamera 使用不同的选项(有些重叠),但由于您没有将它们中的任何一个用于 takePicture,null 应该足够了:
var picture = newCamera.takePicture().then(successPicture, errorPicture);
或
var picture = newCamera.takePicture(null, successPicture, errorPicture);
如果你想同时支持 promise 和回调 API 版本,你可以像这个应用程序那样做一个技巧来检查 Firefox OS 版本:https://github.com/texthtml/torch/blob/master/src/index.js#L69
关于javascript - 使用 FirefoxOS Camera API 拍照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509871/
所以我对 Cordova 还很陌生,现在我正在使用它来制作一个应用程序,我正在尝试拍照然后保存它。现在我还不能拍照。我所拥有的只是一个按钮,在相应的 javascript 文件中,按下按钮时会调用一个
我有完整的工作代码来拍照、裁剪、发送带有图像附件的电子邮件。 代码流程如下:拍张照片 > 找到并选择我们刚刚从图库中拍摄的照片> 裁剪它 > 通过电子邮件发送附件。 我想了解如何跳过整个“查找并选择我
我是编程新手,正在尝试使用板载摄像头硬件制作应用程序,我的目的是拍照;然后,当您单击“保存”时,该图片将出现在要编辑的新 Activity 中...我已经研究了几天如何最好地使用相机硬件...有人告诉
有没有一种方法可以使用 UIImagePickerController 中的叠加层来显示用户可能使用的方形图片,同时在某处有一个切换按钮可以即时切换? 目前 iOS 7 相机有这个功能,但是 UIIm
当我点击 GestureDetector 时,它会打开一个对话框,我可以在其中选择是要从图库中拍摄照片还是要自己制作照片 (the plugin)。但我的问题是当我点击对话框中的一个按钮时,对话框再次
我的一个页面上有一个 map 控件,我想拍一张照片并将其显示在不同的屏幕上。有谁知道我怎么能做到这一点? map 在 内. 最佳答案 您应该使用 WriteableBitmap 类的 Render
我一直在构建一个使用 Flurge 的 CameraKit 的项目,但我遇到了一个相当烦人的问题。其实我不知道怎么拍照。我有一个快门按钮,按下该按钮应该会激活 OnPicturetaken Liste
当我启动照片捕捉 Intent 时,返回给我的照片路径是:content://media/external/images/media/40209 但是当我查看我的设备时,照片路径应该类似于 [..]/
我结账Camera2Basic (谷歌样本) 我刚刚在类 Camera2BasicFragment 中更改了这个方法为了用前置摄像头拍照: private void setUpCameraOutp
在 fragment 中我想拍照但是我遇到了问题,我从来没有得到 onActivityResult 的回调 我的代码: private void dispatchTakePictureIntent(
当我使用 UIImagePicker 从相机拍照时,背景音乐(来自 ipod 应用程序、pandora 应用程序)停止。 Facebook 应用程序不会发生这种情况。有单独的代表来做这件事吗?请帮忙
我用这个方法拍了一张照片。 func convertImageFromCMSampleBufferRef(sampleBuffer:CMSampleBuffer) -> CIImage{ le
在我的 chrome 上,以下代码仅打开相机并立即崩溃,即显示黑屏。这段代码在 Firefox 上运行良好。为什么? http://jsfiddle.net/2mLb6cs2/ (function()
我正在尝试在我的 iOS 应用程序中实现 OpenCV。 CvVideoCamera 很棒,因为它有一个委托(delegate)方法,可以让我处理相机预览的每一帧,但我不知道如何提取一帧并将其保存为图
当我想使用相机拍照时,CameraSource 出现了一些问题。我想要的只是用我在 xml 文件上制作的按钮拍照并使用“CameraSource”拍照,因为我也在使用“TextRecognizer”。
可以禁用/删除此照片确认对话框: 我需要以某种方式跳过此对话框,但我仍想使用 Intent。我找到了这个 android: Take camera picture without "save" / "
我正在使用 FileProvider 在 Android Nougat 上拍照,这是我的代码 文件路径.xml: Java: String fileName =
将文件路径额外添加到图像捕获 Intent 会导致相机应用程序在 TF300t Android 平板电脑上出现故障,系统版本为 4.2.1。按“完成”按钮什么都不做——甚至不关闭相机应用程序 Acti
我正在构建一个将跟踪库存的网络内联网应用程序,我希望能够使用 iPad 的内置相机为每件元素拍照。这可能吗? 我已经使用应用对条形码做了类似的事情,但我还没有找到任何可以对照片做同样事情的东西。 最佳
我用这个方法拍了一张照片。 func convertImageFromCMSampleBufferRef(sampleBuffer:CMSampleBuffer) -> CIImage{ le
我是一名优秀的程序员,十分优秀!