Android 摄像头获取参数失败
该代码在三星手机上正常工作。但是当调用以下方法camera.getParameters()时,phones HTC ONE和其他许多Phone应用程序崩溃 日志:Android 摄像头获取参数失败,android,camera,Android,Camera,该代码在三星手机上正常工作。但是当调用以下方法camera.getParameters()时,phones HTC ONE和其他许多Phone应用程序崩溃 日志: 我有一个问题和你们一样。我检查了一下,发现相机被解锁了() 所以我在getParameter前面加了lock(),在setParameter后面加了unlock(),希望对大家有所帮助 //there is neeed try catch block if(mMediaRecorder == null) { m
我有一个问题和你们一样。我检查了一下,发现相机被解锁了() 所以我在getParameter前面加了lock(),在setParameter后面加了unlock(),希望对大家有所帮助
//there is neeed try catch block
if(mMediaRecorder == null) {
mCamera.lock();
mParameters = mCamera.getParameters();
}else {
mParameters = mCamera.getParameters();
}
if(mParameters != null && mCamera != null){
final String mode = mParameters.getFlashMode();
try{
if (TextUtils.isEmpty(mode) || Camera.Parameters.FLASH_MODE_OFF.equals(mode))
{
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}else {
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
}
mCamera.setParameters(mParameters);
}catch(Exception ex) {
ex.printStackTrace();
}finally {
try{
mCamera.unlock();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
你可以在[这里][1][1]找到正确答案:
if (mCamera == null)
return; //don't write anything between these two lines, previously I got this error, because I put a log out.
Camera.Parameters lParameters = mCamera.getParameters();
//there is neeed try catch block
if(mMediaRecorder == null) {
mCamera.lock();
mParameters = mCamera.getParameters();
}else {
mParameters = mCamera.getParameters();
}
if(mParameters != null && mCamera != null){
final String mode = mParameters.getFlashMode();
try{
if (TextUtils.isEmpty(mode) || Camera.Parameters.FLASH_MODE_OFF.equals(mode))
{
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}else {
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
}
mCamera.setParameters(mParameters);
}catch(Exception ex) {
ex.printStackTrace();
}finally {
try{
mCamera.unlock();
}catch(Exception ex) {
ex.printStackTrace();
}
}
}