如何在不停止相机馈送的情况下使用闪光灯?
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)
无论相机的当前状态如何(并且无需重新启动),您都可以操作闪光灯,但它也可能被其他应用程序覆盖
【讨论】:
以上是关于如何在不停止相机馈送的情况下使用闪光灯?的主要内容,如果未能解决你的问题,请参考以下文章