[PAID] VideoRekorder: Record video with preview in custom layout without any external app ($8 or INR 501)

1. Overview

VideoRekorder is an advanced extension for App Inventor2 that allows users to record videos directly within a custom layout. It supports multiple features like switching between front and back cameras, adjusting video quality, and enabling flash. Users can start, pause, mute, and resume recordings effortlessly. The extension also includes events for handling errors and tracking recording status changes, such as when a video is successfully saved. It’s an all-in-one solution for video recording without needing any external apps.

Latest Version: 1
Published:  August 13, 2024
Last Updated:  August 13, 2024
Aix size: 1.8 mb

2. Blocks

3. Documentation

CameraSwitchedEvent raised when camera is switched to front from back or vice-versa
isFrontCamera | boolean
RecordingPausedEvent raised when recording is successfully paused
RecordingMutedEvent raised when recording is successfully muted
RecordingUnmutedEvent raised when recording is successfully unmuted
RecordingResumedEvent raised when recording is successfully resumed
VideoRecordedEvent raised when video is successfully recorded and saved to given path
videoPath | text
ErrorOccurredEvent raised when any error occurs
errorMsg | text
CameraPreviewStartedEvent raised when camera preview started showing in the layout
CameraPreviewStoppedEvent raised when camera preview stopped showing in the layout
IsFeatureAvailableReturns whether provided feature is supported or not
feature | text
InitializeCameraInitializes preview view in the provided layout and opens default camera. Back camera is always opened by default.
container | component
StartRecordingStarts video recording with configurations set through properties.
outputPath | text
SwitchCameraSwitches between front and back camera.
StopRecordingStops currently running video recording and saves video.
PauseRecordingPauses currently running video recording.
MuteRecordingMutes currently running video recording.
UnMuteRecordingUnmutes currently running video recording.
ResumeRecordingResumes video recording.
StopCameraStops camera preview and removes it from registered layout.
EnableFlashSets flash state. Use this method only after preview started.
enable | boolean
IsFlashOnReturns whether flash is on or not
GetSupportedVideoQualitiesReturns supported video qualities for opened camera. Use this method only after preview started.
SetQualitySet quality for video recording. Use this method only after preview started.
quality | text
RecordAudioSets whether to record audio or not. Effective only when set before InitializeCamera method.
Property Type : write-only
Accepts : boolean
UseFrontCameraSets whether to open and use front camera or back camera. Effective only when set before InitializeCamera method.
Property Type : write-only
Accepts : boolean
FlashOnSets whether to enable flash or not in camera preview and video recording. Effective only when set before InitializeCamera method.
Property Type : write-only
Accepts : boolean
CameraOrientationSets orientation (rotation) used in camera preview and video recording. Effective only when set before InitializeCamera method.
Property Type : write-only
Accepts : number
QualitySets video quality used in camera preview and video recording. Effective only when set before InitializeCamera method.
Property Type : write-only
Accepts : text
FeatureBackCameraBack camera feature
Property Type : read-only
Accepts : text
FeatureAutofocusCameraAutofocus camera feature
Property Type : read-only
Accepts : text
FeatureCameraFlashCamera flash feature
Property Type : read-only
Accepts : text
FeatureFrontCameraFront camera feature
Property Type : read-only
Accepts : text
ScaleTypeSets preview scale type
Property Type : write-only
Accepts : number
ScaleTypeFillCenterScale type FILL_CENTER
Property Type : read-only
Accepts : number
ScaleTypeFitCenterScale type FIT_CENTER
Property Type : read-only
Accepts : number
AspectRatioSets aspect ratio of preview and video
Property Type : write-only
Accepts : number
AspectRatio4n3Aspect ratio 4:3
Property Type : read-only
Accepts : number
AspectRatio16n9Aspect ration 16:9
Property Type : read-only
Accepts : number
AspectRatioDefaultAspect ratio default
Property Type : read-only
Accepts : number

4. Usage

Initialize Camera preview in layout

Property blocks are effective only when called before InitializeCamera block. Also, aspect ratio works best with FitCenter scale type.

GetSupportedVideoQualities returns a list of supported qualities for currently opened camera. (back or front)
In addition to these values, HIGHEST and LOWEST quality are always supported.


Change quality and switch camera on-demand
There are some limited features which can altered after opening camera.


Record Video

You can leave outputPath empty. A randomly generated file path will be used.

You can Pause and Resume recording using respective blocks.

Close camera when done recording
Make sure to close camera preview when you no longer need it.

This will trigger CameraPreviewStopped event, if camera was closed successfully.

5. Purchase Extension

6. Demo Video

Thank you.
Hope it helps!

Subscribe
Notify of
guest
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments