如何在不停止相机馈送的情况下使用闪光灯?

Posted

技术标签:

【中文标题】如何在不停止相机馈送的情况下使用闪光灯?【英文标题】:How to use flash without stopping camera feed? 【发布时间】:2017-05-16 02:55:12 【问题描述】:

我目前正在开发一个条码扫描应用程序,该应用程序将移动视觉 api 用于大多数流程。我正在尝试实现一个闪光灯按钮,以便用户可以在弱光下扫描,但由于某种原因,闪光灯的激活会冻结相机馈送。有没有什么方法可以在 feed 处于活动状态时使用按钮启动 flash?在不干扰其他线程的情况下激活闪存?谢谢!

【问题讨论】:

您应该添加一些代码,以显示您尝试过的内容 【参考方案1】:

我在我的自定义相机应用程序中使用了此代码。当用户单击 FlashOn 按钮时,Flash 将启动。我认为此代码会对您有所帮助。

试试这个代码(OnButton Click):

private void btnFlashOnClick() 

if (mCamera != null) 
                // First get the Camera Parameters.
                Camera.Parameters parameters = mCamera.getParameters();

                // set FlashMode to camera parameters.
                parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);

                // set Parameters Objects to Camera.
                mCamera.setParameters(parameters);

                // Finally, Start the Preview Of a Camera
                mCamera.startPreview(); // this Line is Usefull for MyApp.If you don't need then Remove this Line.
            

此代码在我的应用程序中运行良好..希望这会对您有所帮助...(:

【讨论】:

非常感谢!这很有帮助!【参考方案2】:

这真的取决于您使用的相机 api,因为很少。

CameraManager 有 void setTorchMode (String cameraId, boolean enabled) 无论相机的当前状态如何(并且无需重新启动),您都可以操作闪光灯,但它也可能被其他应用程序覆盖

【讨论】:

以上是关于如何在不停止相机馈送的情况下使用闪光灯?的主要内容,如果未能解决你的问题,请参考以下文章

相机打开时闪光灯不工作

Cordova:如何在不使用相机应用程序的情况下拍照

如何在不使用内部相机裁剪的情况下裁剪图像

Android:如何在不拍照的情况下从相机捕获文本?

如何在不停止 laravel 程序的情况下使用 dd()

如何在不使用 ctrl-c 的情况下停止烧瓶应用程序