如何在Android应用中录制视频?
介绍
视频录制是目前许多Android应用程序中常见的功能。此功能通常用于支付应用程序,其中应用程序需要验证用户的身份进行身份验证以及进行KYC。在本文中,我们将了解如何在Android应用程序中录制视频。
我们将构建一个简单的Android应用程序,其中我们将显示一个按钮和一个视频视图,当用户点击按钮时,我们将录制视频,并且视频录制完成后,我们将视频在视频视图中播放。
实现
我们将创建一个简单的应用程序,其中我们将显示一个列表视图。在这个列表视图中,我们将显示不同的编程语言,并为列表视图中的项目添加点击监听器。点击列表视图的项目时,我们将向用户显示带有项目名称的吐司消息。我们将遵循逐步指南在Android中实现两个数字的相加。
步骤1:在Android Studio中创建一个新项目
导航到Android Studio,如下面的屏幕所示。在下面的屏幕中,单击“新建项目”以创建一个新的Android Studio项目。

单击“新建项目”后,您将看到下面的屏幕。

在这个屏幕中,我们只需选择“空活动”并单击“下一步”。单击“下一步”后,您将看到下面的屏幕。

在这个屏幕中,我们只需指定项目名称。然后包名将自动生成。
注意:确保将语言选择为Java。
指定所有详细信息后,单击“完成”以创建一个新的Android Studio项目。
项目创建完成后,我们将看到打开的两个文件:activity_main.xml和MainActivity.java文件。
步骤2:使用activity_main.xml
导航到activity_main.xml。如果此文件不可见,则要打开此文件。在左侧窗格中导航到app>res>layout>activity_main.xml以打开此文件。打开此文件后,向其中添加以下代码。代码中添加了注释以详细了解。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- creating a video view on below line --> <VideoView android:id="@+id/videoView" android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/idBtnRecordVideo" android:layout_margin="5dp" /> <!-- creating a button to record a video on below line --> <Button android:id="@+id/idBtnRecordVideo" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerInParent="true" android:layout_margin="10dp" android:text="Record Video" android:textAllCaps="false" /> </RelativeLayout>
说明:在上面的代码中,我们创建一个根布局作为相对布局。在这个布局中,我们创建一个视频视图,我们将使用它在我们的应用程序中显示视频。创建此视频视图后,我们将创建一个按钮,我们将使用它来录制视频。然后我们添加相对布局的结束标签。
步骤3:添加录制视频的权限
导航到AndroidManifest.xml文件,并在manifest标签中添加以下权限以录制视频。
<!-- adding permissions on below line --> <uses-feature android:name="android.hardware.camera" android:required="true"/>
步骤4:使用MainActivity.java文件
导航到MainActivity.java。如果此文件不可见,则要打开此文件。在左侧窗格中导航到app>res>layout>MainActivity.java以打开此文件。打开此文件后,向其中添加以下代码。代码中添加了注释以详细了解。
package com.example.java_test_application; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.Button; import android.widget.VideoView; public class MainActivity extends AppCompatActivity { // creating variables on below line. private Button recordVideoBtn; private VideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initializing variables on below line. recordVideoBtn = findViewById(R.id.idBtnRecordVideo); videoView = findViewById(R.id.videoView); // adding click listener for recording button. recordVideoBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on below line opening an intent to capture a video. Intent i = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); // on below line starting an activity for result. startActivityForResult(i, 1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && requestCode == 1) { // on below line setting video uri for our video view. videoView.setVideoURI(data.getData()); // on below line starting a video view videoView.start(); } } }
说明:在上面的代码中,首先我们为视频视图和按钮创建变量。现在我们将看到onCreate方法。这是每个Android应用程序的默认方法。当创建应用程序视图时,将调用此方法。在此方法中,我们设置内容视图,即名为activity_main.xml的布局文件,以从该文件中设置UI。在onCreate方法中,我们使用我们在activity_main.xml文件中给出的id初始化视频视图和按钮变量。之后,我们为录制视频按钮添加一个点击监听器。在点击监听器中,我们打开一个新的意图并将其操作设置为视频捕获并启动该活动。
现在我们正在创建一个onActivity result方法,在此方法中,我们检查请求代码是否与我们传递的相同,并且结果代码为OK,然后我们为视频视图设置视频uri并启动视频视图以显示我们捕获的视频。
添加上述代码后,我们只需单击顶部栏中的绿色图标即可在移动设备上运行我们的应用程序。
注意 - 确保您已连接到您的真实设备或模拟器。
输出
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
结论
在上面的教程中,我们了解了如何在Android应用程序中录制视频并在Android应用程序的视频视图中显示录制的视频。