1.请求相机权限
为了让用户知道我们的应用依赖照相机,在Manifest清单文件中添加标签:
<manifest ... >
<uses-feature android:name="android.hardware.camera"
android:required="true" />
...
</manifest>
2.使用相机程序来录制视频
利用一个描述了执行目的的Intent对象,Android可以将某些执行任务委托给其他应用。整个过程包含三部分: Intent 本身,一个函数调用来启动外部的 Activity,当焦点返回到Activity时,处理返回图像数据的代码。
下面的函数将会发送一个Intent来录制视频:
static final int REQUEST_VIDEO_CAPTURE = 1;
private void dispatchTakeVideoIntent() {
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
}
}
3.查看视频
Android的相机程序会把指向视频存储地址的Uri添加到Intent中,并传送给onActivityResult()方法。下面的代码获取该视频并显示到一个VideoView当中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
Uri videoUri = data.getData();
mVideoView.setVideoURI(videoUri);
}
}