android studio 调用摄像头
时间: 2023-09-13 14:07:44 浏览: 122
Android实现调用摄像头
在 Android Studio 中,可以通过使用 Camera API 来调用摄像头。下面是一个简单的例子:
1. 添加权限
在 AndroidManifest.xml 中添加以下权限:
```xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
```
2. 创建布局
创建一个布局文件来显示摄像头捕捉的图像,例如:
```xml
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
3. 创建相机类
创建一个名为 CameraPreview 的类来处理相机操作,例如:
```java
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private Camera mCamera;
public CameraPreview(Context context) {
super(context);
getHolder().addCallback(this);
}
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(width, height);
mCamera.setParameters(parameters);
mCamera.startPreview();
}
}
```
4. 在 Activity 中使用相机
在 Activity 中添加以下代码来使用相机:
```java
private CameraPreview mPreview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPreview = new CameraPreview(this);
FrameLayout previewLayout = (FrameLayout) findViewById(R.id.camera_preview);
previewLayout.addView(mPreview);
}
```
这样就可以在你的应用程序中调用摄像头了。当你运行应用程序时,将会看到一个包含摄像头捕捉图像的预览的界面。
阅读全文