注意:本頁面所述是指已淘汰的相機類別。建議使用 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); } }