我遇到了HTC Desire后置摄像头的问题。
我正在开发一款使用torch mode拍照的应用程序,并且它可以与其他设备(Nexus One,Galaxy S II,......)配合使用,但是在照片显示之前,LED已经过了拍摄。我已经测试了其他相机应用程序("Camera Magic",“扭曲的相机”),看起来他们有完全相同的问题。
相关代码非常标准(并且适用于其他设备)
// set the torch mode in the Camera.Parameters
String flashMode = parameters.getFlashMode();
List<String> flashModes = parameters.getSupportedFlashModes();
if ((flashModes != null) && (flashModes.contains(Camera.Parameters.FLASH_MODE_TORCH))) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}
...
...
// then just start the camera preview
mCamera.startPreview();
我想知道是否有人知道问题可能是什么或经历过同样的问题?
答案 0 :(得分:0)
对于它的价值,我遇到了与HTC Desire相同的问题。
要考虑的一种可行解决方法是在拍摄照片之前将闪光模式切换为FLASH_MODE_ON
,然后将其重新设置为FLASH_MODE_TORCH
。
虽然闪光灯比手电筒强,所以拍摄的照片看起来与预览不同。
答案 1 :(得分:0)
是的我在HTC手机上发现了同样的问题。
我已经放置条件使用FLASH_MODE_ON而不是FLASH_MODE_TORCH
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
if (pList.contains(Parameters.FLASH_MODE_TORCH) && (!ManufacturerName.contains("htc"))) {
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
}
else
if (pList.contains(Parameters.FLASH_MODE_ON)) {
parameters.setFlashMode(Parameters.FLASH_MODE_ON);
}
}