使用Camera API时为什么Cannot resolve method 'open' in 'Camera'等错误
时间: 2023-08-07 17:03:37 浏览: 116
这种错误通常是因为您忘记在代码中导入 `android.hardware.Camera` 类,或者您的API级别不支持该类。请确保您的 `minSdkVersion` 为 21 或更高,并在代码中添加以下导入语句:
```
import android.hardware.Camera;
```
如果问题仍然存在,请将您的代码和错误消息一起分享,以便更好地帮助您解决问题。
相关问题
private Size mPreviewSize; Camera.Parameters parameters = mCamera.getParameters(); List<Camera.Size> supportedSizes = parameters.getSupportedPreviewSizes(); Camera.Size optimalSize = getOptimalPreviewSize(supportedSizes, width, height); mPreviewSize = optimalSize; Cannot resolve symbol 'Parameters'
在 Camera2 API 中,`Camera.Parameters` 已经被弃用了。如果你使用的是 Camera2 API,请使用 `CameraCharacteristics` 和 `CaptureRequest.Builder` 来设置相机参数。
如果你一定要使用 Camera1 API,那么你需要确保你的 `mCamera` 对象是 `android.hardware.Camera` 类型的,并且你的项目中已经正确地引入了相机 API 的依赖。这样,你就可以使用 `mCamera.getParameters()` 方法来获取相机参数了。
另外,如果你的 IDE 报出了“Cannot resolve symbol 'Parameters'”错误,可能是因为你没有正确地导入相机 API 的相关类。你可以在你的 Java 文件中添加如下代码:
```java
import android.hardware.Camera;
```
这样就可以正确地引入相机 API 的相关类了。
Cannot resolve symbol 'cameraId'
这个错误通常发生在使用 Camera2 API 的应用程序中,它可能是因为你没有正确地定义 cameraId 变量或者没有导入必要的类。
你可以尝试以下步骤来解决这个问题:
1. 确保你已经正确地定义了 cameraId 变量,并且它的类型是 String。
2. 导入 CameraManager 类,它包含了 Camera2 API 中与相机有关的方法和常量。
3. 确保你已经获取了正确的 CameraManager 实例,并且已经通过 CameraManager.getCameraIdList() 方法获取了可用相机的 ID 列表。
4. 确保你已经在 CameraManager.openCamera() 方法中正确地指定了相机的 ID。
如果你仍然无法解决这个问题,你可以尝试查看你的代码,看看是否有其他的错误或者代码逻辑的问题。
阅读全文
相关推荐













