在android中动态打开相机闪光灯

发布于 2024-11-19 12:02:45 字数 568 浏览 3 评论 0原文

我正在android中做一个条形码扫描应用程序。在这方面,我必须动态打开相机闪光灯,并且我通过使用以下代码来做到这一点

mCamera = Camera.open();     
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);
mCamera.startPreview();

,但它显示了一个异常,例如:

ERROR/AndroidRuntime(17291): java.lang.RuntimeException: Fail to connect to camera service

在行

mCamera = Camera.open();  

我认为异常是因为当我扫描条形码时相机已经打开模式,在这里我尝试再次打开相机。

有没有什么办法可以打开闪光灯而无需再次打开相机?又如何呢?

I am doing a barcode scanning app in android. In that, I have to turn on the camera flash light dynamically and I am doing this by using the following code

mCamera = Camera.open();     
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);
mCamera.startPreview();

But it's showing an Exception like:

ERROR/AndroidRuntime(17291): java.lang.RuntimeException: Fail to connect to camera service

at line

mCamera = Camera.open();  

I think the exception is because while I am scanning the barcode the camera is already in open mode and here I am trying to open the camera again.

Is there any way to turn on the Flash light without open the camera again ? and how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

<逆流佳人身旁 2024-11-26 12:02:45

您可以重用现有的相机对象,只需对其设置参数即可。请注意,并非所有设备都支持闪光模式手电筒。还有一些,比如 fascinate/epic(实际上使用了闪光灯模式)无法在不断开并重新连接相机的情况下更改状态。

You can reuse your existing camera object and just setParameters on that. Note that not all devices support flash mode torch. Also some, like the fascinate/epic (who actually use flash mode on) cannot change the state without disconnecting and reconnecting to the camera.

善良天后 2024-11-26 12:02:45

您正在访问相机设置和相机。检查 AndroidMainfest.xml 使用权限中是否有 android.permission.CAMERA

You are accessing camera settings and camera. Check if you have a android.permission.CAMERA in AndroidMainfest.xml uses-permissions.

烙印 2024-11-26 12:02:45

您是否使用表面视图来打开闪光灯,您使用的是哪种设备,因为某些设备确实需要表面视图才能使闪光灯在其中运行。

这是链接

Have you used surface view to turn on the flash light, which device are you using as some of the devices do require surface view to make flash run in it.

Here's a link!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文