【发布时间】:2016-04-05 18:54:49
【问题描述】:
请在将其标记为重复之前阅读问题。我正在尝试使用本网站其他代码中显示的相机方法访问 LED/手电筒没有。谢谢。
我正在尝试在 Android 中使用手电筒/手电筒。我已经找到并实现了可以做到这一点的代码。我遇到的问题是我正在使用将相机用作图像扫描仪的图像识别 API,并且它们没有开/关功能。当我尝试覆盖他们的方法并使用相机方法来打开/关闭手电筒时,这是可行的,但是,相机方法现在控制窗口并且它们的扫描仪不再在屏幕上具有优先权。
所以我要确定的是......是否有另一种方法可以在不使用相机方法和预览功能的情况下打开手电筒/手电筒。有人知道如何绕过相机使用手电筒/手电筒吗?任何信息将不胜感激。
这是我目前使用的代码,它正在打开/关闭手电筒,但就像我说的......这会覆盖扫描仪,我需要相机/扫描仪同时操作以识别我的图片。
公共类 Flashlight 扩展 AutoScannerSession {
Camera cam;
private CameraManager mCameraManager;
private Context context;
private Scanner scanner;
private AutoScannerSession.Listener listener;
private boolean advancedListener = false;
public Flashlight(Activity parent, Scanner scanner, Listener listener, SurfaceView preview) {
super(parent, scanner, listener, preview);
cam = Camera.open();
cam.setErrorCallback(new Camera.ErrorCallback() {
@Override
public void onError(int error, Camera camera) {
Log.e("erro", error +"");
}
});
this.context = parent;
this.mCameraManager = new CameraManager(parent, this, preview);
this.scanner = scanner;
this.listener = listener;
if(listener instanceof AutoScannerSession.AdvancedListener) {
this.advancedListener = true;
}
}
@Override
public void start() {
super.start();
//flashOn();
}
public void flashOn() {
android.hardware.Camera.Parameters p = cam.getParameters();
p.setFlashMode(android.hardware.Camera.Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
//cam.startPreview();
}
public void flashOff() {
cam.stopPreview();
cam.release();
}
@Override
public void stop() {
super.stop();
flashOff();
}
【问题讨论】:
-
不是重复的......完全不同的问题。我不想使用 Camera 方法,并试图确定是否有办法在不访问 Camera 方法的情况下打开/关闭 LED
-
你为什么要尝试做一些不同于为你提供的方式的事情?
-
再次...如果您通读该帖子,您会发现我无法执行此操作,因为图像识别软件将相机窗口用作扫描仪,并且如果我尝试实现手电筒方法,它会接管预览窗口并且图像扫描仪不起作用。手电筒工作正常,但扫描仪不能,所以它基本上会削弱应用程序。
-
您使用什么扫描仪?是开源的吗?
-
来自 Moodstocks API...moodstocks.com/static/doc/android/index.html
标签: java android android-camera flashlight image-scanner