MediaSettingsModalOptions class

Configuration for the media-device picker modal enabling camera/mic selection.

  • switchCameraOnPress - Override for switchVideoAlt; receives {videoPreference, parameters}. Called when user taps "Switch Camera" (mobile).
  • switchVideoOnPress - Override for switchVideo; receives {videoPreference, checkoff, parameters}. Called when dropdown selection changes for video device.
  • switchAudioOnPress - Override for switchAudio; receives {audioPreference, parameters}. Called when dropdown selection changes for audio device.
  • parameters - Must expose userDefaultVideoInputDevice, userDefaultAudioInputDevice, videoInputs, audioInputs, isMediaSettingsModalVisible, updateIsMediaSettingsModalVisible, and getUpdatedAllParams.
  • position - Modal placement via getModalPosition (e.g., 'topRight').
  • backgroundColor - Background color for modal container.
  • customBuilder - Replace entire modal widget tree; receives MediaSettingsModalOptions.
  • wrapperBuilder - Override top-level Stack; receives {stackChildren, defaultWrapper}.
  • containerBuilder - Override modal container (positioned box); receives {child, defaultContainer}.
  • headerBuilder - Override header bar; receives {title, closeButton, defaultHeader}.
  • sectionBuilder - Override each device-picker section; receives {label, type, dropdown, defaultSection}.
  • dropdownBuilder - Override DropdownButton widget; receives {type, selectedValue, items, onChanged, defaultDropdown}.
  • buttonBuilder - Override "Switch Camera" button; receives {onPressed, child, defaultButton}.
  • containerPadding / containerMargin / containerAlignment / containerDecoration - Fine-tune modal container styling.
  • titleTextStyle / labelTextStyle - Typography overrides for title and section labels.
  • switchButtonStyle / switchButtonChild - Customize "Switch Camera" button appearance.

Usage

  1. Modal populates dropdowns from parameters.videoInputs and parameters.audioInputs (list of MediaDeviceInfo).
  2. Current selection defaults to userDefaultVideoInputDevice and userDefaultAudioInputDevice.
  3. Changing dropdown invokes switchVideoOnPress or switchAudioOnPress, which update state and switch tracks.
  4. "Switch Camera" button (mobile-only) cycles through front/back cameras via switchCameraOnPress.
  5. Override via MediasfuUICustomOverrides.mediaSettingsModal to inject permission checks, device aliases, or preview surfaces.

Constructors

MediaSettingsModalOptions.new({required bool isVisible, required VoidCallback onClose, SwitchVideoAltType switchCameraOnPress = switchVideoAlt, SwitchVideoType switchVideoOnPress = switchVideo, SwitchAudioType switchAudioOnPress = switchAudio, required MediaSettingsModalParameters parameters, String position = 'topRight', Color backgroundColor = Colors.blue, MediaSettingsModalType? customBuilder, EdgeInsetsGeometry? containerPadding, EdgeInsetsGeometry? containerMargin, AlignmentGeometry? containerAlignment, BoxDecoration? containerDecoration, MediaSettingsModalWrapperBuilder? wrapperBuilder, MediaSettingsModalContainerBuilder? containerBuilder, MediaSettingsModalHeaderBuilder? headerBuilder, MediaSettingsModalSectionBuilder? sectionBuilder, MediaSettingsModalDropdownBuilder? dropdownBuilder, MediaSettingsModalButtonBuilder? buttonBuilder, TextStyle? titleTextStyle, TextStyle? labelTextStyle, ButtonStyle? switchButtonStyle, Widget? switchButtonChild})

Properties

backgroundColor Color
final
buttonBuilder MediaSettingsModalButtonBuilder?
final
containerAlignment AlignmentGeometry?
final
containerBuilder MediaSettingsModalContainerBuilder?
final
containerDecoration BoxDecoration?
final
containerMargin EdgeInsetsGeometry?
final
containerPadding EdgeInsetsGeometry?
final
customBuilder MediaSettingsModalType?
final
final
hashCode int
The hash code for this object.
no setterinherited
headerBuilder MediaSettingsModalHeaderBuilder?
final
isVisible bool
final
labelTextStyle TextStyle?
final
onClose VoidCallback
final
parameters MediaSettingsModalParameters
final
position String
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sectionBuilder MediaSettingsModalSectionBuilder?
final
switchAudioOnPress SwitchAudioType
final
switchButtonChild Widget?
final
switchButtonStyle ButtonStyle?
final
switchCameraOnPress SwitchVideoAltType
final
switchVideoOnPress SwitchVideoType
final
titleTextStyle TextStyle?
final
wrapperBuilder MediaSettingsModalWrapperBuilder?
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