注意:此页面指的是 Camera 类,该类已弃用。我们建议使用 CameraX 或在特定用例中使用 Camera2。CameraX 和 Camera2 均支持 Android 5.0(API 级别 21)及更高版本。
本课程介绍如何使用现有的相机应用捕获视频。
您的应用有工作要做,集成视频只是其中的一小部分。您希望以最少的麻烦录制视频,而不是重新发明摄像机。幸运的是,大多数搭载 Android 的设备都已配备了可以录制视频的相机应用。在本课程中,您将让它为您完成此操作。
请求相机功能
要宣传您的应用依赖于摄像头,请在清单文件中添加一个 <uses-feature>
标签。
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
如果您的应用使用摄像头,但不需要摄像头才能运行,请将 android:required
设置为 false
。这样做,Google Play 就会允许没有摄像头的设备下载您的应用。然后,您有责任通过调用 hasSystemFeature(PackageManager.FEATURE_CAMERA)
在运行时检查摄像头的可用性。如果摄像头不可用,则应禁用您的摄像头功能。
观看视频
Android 摄像头应用会将视频以 Intent
的形式返回给 onActivityResult()
,并使用指向存储中视频位置的 Uri
。以下代码检索此视频并在 VideoView
中显示它。
Kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { val videoUri: Uri = intent.data videoView.setVideoURI(videoUri) } }
Java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { Uri videoUri = intent.getData(); videoView.setVideoURI(videoUri); } }