錄影

注意:本頁面所述是指已淘汰的相機類別。建議使用 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 相機應用程式會傳回已傳送至 onActivityResult()Intent 中的影片,做為 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);
    }
}