首页 > 解决方案 > 如何同时使用相机预览和手电筒?

问题描述

我面临一个例外“相机已在使用中”。我正在做的事情是我使用带有搜索栏的相机作为放大镜,现在我想用它添加闪光灯功能,但我面临这个例外。

我正在将此代码用于闪存。

private void torchToggle(String command) {


        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                String cameraId = null; // Usually back camera is at 0 position.
                try {
                    if (camManager != null) {
                        cameraId = camManager.getCameraIdList()[0];
                    }
                    if (camManager != null) {
                        if (command.equals("on")) {
                            camManager.setTorchMode(cameraId, true);   // Turn ON

                            Toast.makeText(this, "Flash on", Toast.LENGTH_SHORT).show();
                        } else {
                            if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH) == true) {
                                camManager.setTorchMode(cameraId, false);  // Turn OFF
                                Toast.makeText(this, "Flash off", Toast.LENGTH_SHORT).show();

                            }

                        }
                    }
                } catch (CameraAccessException e) {
                    Toast.makeText(this, ""+e, Toast.LENGTH_SHORT).show();
                }
            }
            else
            {
                Toast.makeText(this, "device version too low", Toast.LENGTH_SHORT).show();
            }
        }
        catch (Exception e)
        {
            Toast.makeText(this, "Issue: "+ e, Toast.LENGTH_SHORT).show();
        }
    }

标签: javaandroidcameraflashlight

解决方案


推荐阅读