Java 如何在android中向相机添加cast
更新** 全班:Java 如何在android中向相机添加cast,java,android,camera,android-camera,Java,Android,Camera,Android Camera,更新** 全班: public class TorchActivity extends Activity { ImageButton btnSwitch; private Camera camera; private boolean isFlashOn; private boolean hasFlash; Parameters params; MediaPlayer mp; @SuppressWarnings("deprecation") @Override protected void
public class TorchActivity extends Activity {
ImageButton btnSwitch;
private Camera camera;
private boolean isFlashOn;
private boolean hasFlash;
Parameters params;
MediaPlayer mp;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// flash switch button
btnSwitch = (ImageButton) findViewById(R.id.btnSwitch);
...
...
// get the camera
getCamera();
...
// Switch button click event to toggle flash on/off
btnSwitch.setOnClickListener(new View.OnClickListener() {
@Override
...
});
}
// Get the camera
private void getCamera() {
if (camera == null) {
try {
camera = Camera.open(); //The method open() is undefined for the type Camera
params = camera.getParameters(); //Add cast to 'camera'
} catch (RuntimeException e) {
Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
}
}}
在这里,我创建了一个闪光灯应用程序,它只需通过摄像头应用程序访问闪光灯权限。
我无法为“摄影机”提供演员阵容。。。
我怎样才能做到
警告:
这些错误是由于使用了
Import.android.graphics.camera
而不是Import.android.hardware.camera
而导致的。使用right Import后,没有任何错误
Camera theCamera = camera;
if (theCamera == null) {
theCamera = Camera.open();
if (theCamera == null) {
throw new IOException();
}
camera = theCamera;
}
试着那样打开相机。若出现异常,则无法使用相机(可能相机已打开且未关闭)。否则你可以随意使用
编辑
看来你的问题是另一个:
您的导入应该是(android.hardware.Camera),但不是(android.graphics.Camera)
检查它这些错误是由于使用导入.android.graphics.camera而不是导入.android.hardware.camera
使用right import后,没有任何错误。params的类型是什么?请发布完整的类。它仍然在
open()中给出相同的错误
即,摄像机类型的open()方法未定义
你不是说Sam N-a吗?我添加了我的答案。我认为这很简单,即使不直接告诉我要改变什么=)
Camera theCamera = camera;
if (theCamera == null) {
theCamera = Camera.open();
if (theCamera == null) {
throw new IOException();
}
camera = theCamera;
}