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
, andgetUpdatedAllParams
. - 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
- Modal populates dropdowns from
parameters.videoInputs
andparameters.audioInputs
(list ofMediaDeviceInfo
). - Current selection defaults to
userDefaultVideoInputDevice
anduserDefaultAudioInputDevice
. - Changing dropdown invokes
switchVideoOnPress
orswitchAudioOnPress
, which update state and switch tracks. - "Switch Camera" button (mobile-only) cycles through front/back cameras via
switchCameraOnPress
. - 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})
Properties
- backgroundColor → Color
-
final
-
final
- containerAlignment → AlignmentGeometry?
-
final
- containerBuilder → MediaSettingsModalContainerBuilder?
-
final
- containerDecoration → BoxDecoration?
-
final
- containerMargin → EdgeInsetsGeometry?
-
final
- containerPadding → EdgeInsetsGeometry?
-
final
- customBuilder → MediaSettingsModalType?
-
final
- dropdownBuilder → MediaSettingsModalDropdownBuilder?
-
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