写一个安卓获取手机摄像头渲染在页面的代码
时间: 2024-03-15 16:42:03 浏览: 23
以下是一个简单的安卓程序,可以获取手机摄像头并将图像渲染在页面上:
1. 在XML布局文件中添加一个SurfaceView元素,用于显示摄像头图像:
```
<SurfaceView
android:id="@+id/surfaceView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
```
2. 在MainActivity.java文件中,获取SurfaceView并实现SurfaceHolder.Callback接口,以便在SurfaceView准备好之后获取摄像头和设置预览:
```
public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback {
private Camera mCamera;
private SurfaceView mSurfaceView;
private SurfaceHolder mSurfaceHolder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSurfaceView = (SurfaceView) findViewById(R.id.surfaceView);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
}
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
mCamera.startPreview();
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
mCamera.stopPreview();
mCamera.release();
}
}
```
3. 在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.CAMERA"/>
```
这样,当你运行这个程序时,你就可以在页面上看到摄像头图像了。