Docs
API Docs

Record a video using a camera app

The Android way of delegating actions to other applications is to invoke an Intent that describes what you want done. This process involves three pieces: The Intent itself, a call to start the external Activity, and some code to handle the video when focus returns to your application.

We provide the ExternalVideoCaptureBuilder to let you start a video camera application with ease. We recommend using the system camera controller for the best quality results.

ExternalVideoCaptureBuilder()
    .startActivityForResult(this@MainActivity, VIDEO_ACTIVITY_RESULT)

Edit the video

The Android Camera application returns the video in the Intent delivered to onActivityResult() as a Uri pointing to the video location in storage. The following code retrieves this video and pass it to the VideoEditor

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == VIDEO_ACTIVITY_RESULT) {
        Uri videoUri = data.getData();
        VideoEditorSettingsList settingsList = ExampleConfigUtility.createInitialVESDKSettingsList();

        settingsList
                .getSettingsModel(LoadSettings.class)
                .setSource(videoUri);

        new VideoEditorBuilder(VideoCameraActivity.this)
                .setSettingsList(settingsList)
                .startActivityForResult(VideoCameraActivity.this, EDITOR_ACTIVITY_RESULT, new String[]{});
    }
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (resultCode == RESULT_OK && requestCode == VIDEO_ACTIVITY_RESULT) {
        val videoUri = data?.data
        val settingsList = ExampleConfigUtility.createInitialVESDKSettingsList()

        settingsList
          .getSettingsModel(LoadSettings::class.java)
          .source = videoUri

        VideoEditorBuilder(this@KVideoCameraActivity)
          .setSettingsList(settingsList)
          .startActivityForResult(this@KVideoCameraActivity, EDITOR_ACTIVITY_RESULT);
    }
}