RecordingModalOptions class

Configuration for the recording modal enabling server-side capture with comprehensive layout/styling options.

  • confirmRecording - Override for confirmRecording; receives {parameters}. Called when user taps "Confirm" to commit current settings before starting.
  • startRecording - Override for startRecording; receives {parameters}. Called when user taps "Start Recording" after confirmation; emits socket event to initiate server-side capture.
  • parameters - Must expose recordingVideoType ('video'/'media'/'all'), recordingDisplayType ('video'/'media'/'all'), recordingBackgroundColor, recordingNameTagsColor, recordingOrientationVideo ('landscape'/'portrait'/'all'), recordingNameTags, recordingAddText, recordingCustomText, recordingCustomTextPosition, recordingCustomTextColor, recordingMediaOptions ('video'/'audio'), recordingAudioOptions ('all'/'onScreen'/'host'), recordingVideoOptions ('all'/'mainScreen'), recordingAddHLS, eventType, and recordPaused.
  • position - Modal placement via getModalPosition (e.g., 'bottomRight').
  • backgroundColor - Background color for modal container.
  • styles - Optional ModalStyleOptions for advanced theming (padding, border radius, etc.).
  • title / confirmButtonChild / startButtonChild - Custom widgets for header and action buttons.

Usage

  1. Modal displays two tabs: "Basic" (StandardPanelComponent) and "Advanced" (AdvancedPanelComponent).
  2. Basic tab: recordingVideoType, recordingDisplayType, recordingBackgroundColor, recordingNameTagsColor, recordingOrientationVideo dropdowns; recordingNameTags switch.
  3. Advanced tab: recordingAddText switch, recordingCustomText input, recordingCustomTextPosition/recordingCustomTextColor dropdowns; recordingMediaOptions, recordingAudioOptions, recordingVideoOptions, recordingAddHLS toggles.
  4. "Confirm" button validates settings and calls confirmRecording, updating parameters; "Start Recording" button enabled after confirmation, invokes startRecording which emits socket event.
  5. Override via MediasfuUICustomOverrides.recordingModal to inject watermark preview, compliance warnings, or custom encoding presets.

Constructors

RecordingModalOptions.new({required bool isRecordingModalVisible, required VoidCallback onClose, Color backgroundColor = const Color(0xFF83C0E9), String position = 'bottomRight', required ConfirmRecordingType confirmRecording, required StartRecordingType startRecording, required RecordingModalParameters parameters, ModalStyleOptions? styles, Widget? title, Widget? confirmButtonChild, Widget? startButtonChild, bool isDarkMode = false, bool enableGlassmorphism = false, ModalRenderMode renderMode = ModalRenderMode.modal})

Properties

backgroundColor → Color
final
confirmButtonChild → Widget?
final
confirmRecording → ConfirmRecordingType
final
enableGlassmorphism → bool
final
hashCode → int
The hash code for this object.
no setterinherited
isDarkMode → bool
Modern UI properties - pending full implementation in classic modal. These are included for API compatibility with ModernRecordingModalOptions.
final
isRecordingModalVisible → bool
final
onClose → VoidCallback
final
parameters → RecordingModalParameters
final
position → String
final
renderMode → ModalRenderMode
Render mode for the modal (modal, sidebar, or inline). When set to sidebar or inline, returns content without modal wrapper.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
startButtonChild → Widget?
final
startRecording → StartRecordingType
final
styles → ModalStyleOptions?
final
title → Widget?
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited