如何在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並啟動影片檢視以顯示我們捕獲的影片。
新增上述程式碼後,我們只需單擊頂部欄中的綠色圖示即可在移動裝置上執行我們的應用程式。
注意 - 確保您已連線到您的真實裝置或模擬器。
輸出

結論
在上面的教程中,我們瞭解瞭如何在Android應用程式中錄製影片並在Android應用程式的影片檢視中顯示錄製的影片。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP