【发布时间】:2023-03-07 10:06:01
【问题描述】:
您好,我仅在棒棒糖以下的操作系统版本中遇到此问题,为此进行了很多搜索,但没有找到正确的解决方案。我认为问题在于操作系统版本 它在 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)
【问题讨论】:
-
我已经检查过了。它不适合我@提琴手
-
我很确定您的问题与 Correct handling of exception: "getParameters failed (empty parameters) 中的问题相同。问题是,为什么相机处于不良状态。还有更多,为什么相机在 KitKat 上的状态不好,但在 Lollipop 上却没有。为了帮助社区帮助您,请说明此
setCameraPhotoQuality()方法的调用方式和时间。 -
谢谢@提琴手,亚历克斯。我的问题是模拟器。它在某些模拟器中工作并在某些模拟器中冻结。得到解决方案并在下面发布。
-
在我的例子中,我在 Android API 22 模拟器上的股票相机应用程序上得到了这个。我通过在模拟器上使用 32 位 x86 操作系统映像而不是 64 位 x86 来修复它。
标签: android android-camera android-5.0-lollipop android-4.4-kitkat