嗨我只是在棒棒糖下面的操作系统版本中遇到这个问题,搜索了很多,因为这个位没找到正确的解决方案。我认为问题出在操作系统版本上 它在5+以上工作正常 我的代码是
private void setCameraPhotoQuality(Camera camera) {
final Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
if (configurationProvider.getMediaQuality() == Configuration.MEDIA_QUALITY_LOW) {
parameters.setJpegQuality(50);
} else if (configurationProvider.getMediaQuality() == Configuration.MEDIA_QUALITY_MEDIUM) {
parameters.setJpegQuality(75);
} else if (configurationProvider.getMediaQuality() == Configuration.MEDIA_QUALITY_HIGH) {
parameters.setJpegQuality(100);
} else if (configurationProvider.getMediaQuality() == Configuration.MEDIA_QUALITY_HIGHEST) {
parameters.setJpegQuality(100);
}
parameters.setPictureSize(photoSize.getWidth(), photoSize.getHeight());
camera.setParameters(parameters);
}
java.lang.RuntimeException: getParameters failed (empty parameters)
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:1662)
答案 0 :(得分:0)
问题在于模拟器,除了屏幕冻结问题通过添加
解决camera.stopPreview();
camera.startPreview();
在surfaceChanged
方法中。