本開發人員指南引導您完成這些步驟,以便讓應用程式將場景 SceneView
錄製到本機影片檔案中。其使用 VideoRecorder
類別提供的功能,該類別從 VideoRecording 範例 範例中開始,從 Android Sceneform SDK 1.6.0 版開始。
建構並執行範例應用程式
如要建構並執行 VideoRecording 範例應用程式:
- 確認 Android Studio 中有 Sceneform 專案,且您的 Android 裝置已透過 USB 連線至開發機器。如需詳細步驟,請參閱快速入門導覽課程。
- 將 VideoRecording 範例匯入專案。
- 在 Android Studio 中,按一下「執行」圖示 。然後選擇裝置做為部署目標,然後按一下「OK」 (啟動) 啟動範例應用程式。
- 移動裝置並將 3D 物件放在周圍的空間時,按一下「Record」按鈕即可開始錄製,點選「Stop」按鈕停止記錄。
你可以透過裝置相機膠卷、Sceneform
的相簿或路徑中存取錄製的影片:
/sdcard/Pictures/Sceneform/Sample<hex characters>.mp4
讓應用程式支援場景場景錄影功能總覽
如要讓應用程式記錄場景場景,你必須:
- 要求應用程式權限
- 正在初始化錄影工具
- 開始及停止錄影
1. 要求應用程式權限
如要將影片檔案寫入本機儲存空間,應用程式必須在 AndroidManifest.xml
中新增下列程式碼,要求 WRITE_EXTERNAL_STORAGE
權限:
<application>
…
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. 初始化錄音工具
VideoRecording Sample 包含名為 VideoRecorder
的類別,可封裝使用 MediaRecorder 從 SceneView
物件擷取影片所需的設定邏輯。
如要使用錄影工具,請在活動中初始化 VideoRecorder 類別,例如 onCreate()
。
// Create a new video recorder instance.
videoRecorder = new VideoRecorder();
// Specify the AR scene view to be recorded.
videoRecorder.setSceneView(arFragment.getArSceneView());
// Set video quality and recording orientation to match that of the device.
int orientation = getResources().getConfiguration().orientation;
videoRecorder.setVideoQuality(CamcorderProfile.QUALITY_2160P, orientation);
3. 建立影片錄製
如要開始錄製,請呼叫
onToggleRecord()
:// Returns true if recording has started. boolean recording = videoRecorder.onToggleRecord();
如要停止錄影,請再次呼叫
onToggleRecord()
:// Returns false if recording has stopped. boolean recording = videoRecorder.onToggleRecord();
如要擷取錄影的檔案路徑,請使用
getVideoPath()
:// Determine absolute file path of video recording. String videoPath = videoRecorder.getVideoPath().getAbsolutePath();
視需要使用 ADB 將錄製的檔案複製到開發機器中:
adb pull /sdcard/…/path/to/recorded/video.mp4 .
如要判斷圖片和影片的正確位置,以便讓相機正確顯示在相機膠卷中,VideoRecord
類別會使用 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
。