Android 摄像头使用指南:拍照与录制视频

3星 · 超过75%的资源 需积分: 10 20 下载量 158 浏览量 更新于2024-09-15 收藏 5KB TXT 举报
该资源主要涉及的是在Android平台上如何启动摄像头进行图片和视频的拍摄,并且处理拍摄后的结果。 在Android应用开发中,如果需要调用设备的摄像头进行拍照或录制视频,通常会使用`Intent`来启动系统相机应用。在给出的代码段中,有两个关键方法:`capturePicture()` 和 `captureVideo()`。 1. capturePicture() 方法用于启动相机拍摄照片: - 首先,创建一个新的`Intent`实例,并设置其动作为 `MediaStore.ACTION_IMAGE_CAPTURE`,这个动作告诉系统用户将要执行的是拍摄图片的操作。 - 接着,通过 `putExtra()` 方法,将存储照片的文件路径传入`Intent`。这里使用了 `Uri.fromFile(file)` 来创建一个表示文件的`Uri`,其中`file`是你要保存照片的文件对象。 - 最后,使用 `startActivityForResult()` 启动相机应用,`REQUEST_CAPTURE_IMAGE` 是一个自定义请求码,用于识别返回的结果。 2. captureVideo() 方法用于启动相机录制视频: - 这个方法与 `capturePicture()` 类似,但设置的动作是 `MediaStore.ACTION_VIDEO_CAPTURE`,表示要进行视频录制。 - 同样,使用 `putExtra()` 设置视频质量,`EXTRA_VIDEO_QUALITY` 参数设置为0,通常意味着低质量视频。如果需要高质量视频,可以设置为1。 - 同样使用 `startActivityForResult()` 开启相机应用,请求码为 `REQUEST_CAPTURE_VIDEO`。 3. onActivityResult() 方法是处理相机应用返回结果的地方: - 当用户完成拍照或录像后,相机应用会返回到你的应用,并调用此方法。 - 通过 `requestCode` 和 `resultCode` 判断用户是从哪个操作返回,以及操作是否成功(`RESULT_OK` 表示操作成功)。 - 如果操作成功,可以通过 `data.getData()` 获取到拍摄的图片或视频的`Uri`。 - 使用 `uri2filePath()` 方法将 `Uri` 转换为实际的文件路径,以便进一步处理。 4. uri2filePath() 方法是一个辅助函数,用于从`Uri`获取文件的实际路径: - 使用 `managedQuery()` 查询 `Uri` 对应的文件信息,获取到 `MediaStore.Images.Media.DATA` 列的索引。 - 通过遍历 `Cursor` 获取到文件路径,并返回。 这段代码展示了如何在Android应用中调用系统相机进行图片和视频的拍摄,并处理拍摄后的结果。开发者可以根据实际需求对这些方法进行扩展和定制,例如添加权限检查、错误处理、自定义存储位置等。