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({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})

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