MediaSettingsModal component provides a modal interface for users to configure media settings such as selecting video and audio input devices.
import React, { useState } from 'react';import { MediaSettingsModal } from 'mediasfu-reactjs';import { io } from 'socket.io-client';const App = () => { const socket = io("http://localhost:3000"); const [isMediaModalVisible, setIsMediaModalVisible] = useState(true); const handleMediaSettingsClose = () => setIsMediaModalVisible(false); const handleSwitchCamera = async (options) => console.log("Camera switched", options); const handleSwitchVideo = async (options) => console.log("Video input switched", options); const handleSwitchAudio = async (options) => console.log("Audio input switched", options); const parameters = { userDefaultVideoInputDevice: "default", videoInputs: [ { deviceId: "camera1", label: "Front Camera" }, { deviceId: "camera2", label: "Rear Camera" } ], audioInputs: [ { deviceId: "mic1", label: "Built-in Microphone" }, { deviceId: "mic2", label: "External Microphone" } ], userDefaultAudioInputDevice: "default", isBackgroundModalVisible: false, updateIsBackgroundModalVisible: (visible) => console.log("Background modal visibility:", visible), getUpdatedAllParams: () => console.log("Updated all parameters"), }; return ( <MediaSettingsModal isMediaSettingsModalVisible={isMediaModalVisible} onMediaSettingsClose={handleMediaSettingsClose} switchCameraOnPress={handleSwitchCamera} switchVideoOnPress={handleSwitchVideo} switchAudioOnPress={handleSwitchAudio} parameters={parameters} position="topRight" backgroundColor="#83c0e9" /> );};export default App; Copy
import React, { useState } from 'react';import { MediaSettingsModal } from 'mediasfu-reactjs';import { io } from 'socket.io-client';const App = () => { const socket = io("http://localhost:3000"); const [isMediaModalVisible, setIsMediaModalVisible] = useState(true); const handleMediaSettingsClose = () => setIsMediaModalVisible(false); const handleSwitchCamera = async (options) => console.log("Camera switched", options); const handleSwitchVideo = async (options) => console.log("Video input switched", options); const handleSwitchAudio = async (options) => console.log("Audio input switched", options); const parameters = { userDefaultVideoInputDevice: "default", videoInputs: [ { deviceId: "camera1", label: "Front Camera" }, { deviceId: "camera2", label: "Rear Camera" } ], audioInputs: [ { deviceId: "mic1", label: "Built-in Microphone" }, { deviceId: "mic2", label: "External Microphone" } ], userDefaultAudioInputDevice: "default", isBackgroundModalVisible: false, updateIsBackgroundModalVisible: (visible) => console.log("Background modal visibility:", visible), getUpdatedAllParams: () => console.log("Updated all parameters"), }; return ( <MediaSettingsModal isMediaSettingsModalVisible={isMediaModalVisible} onMediaSettingsClose={handleMediaSettingsClose} switchCameraOnPress={handleSwitchCamera} switchVideoOnPress={handleSwitchVideo} switchAudioOnPress={handleSwitchAudio} parameters={parameters} position="topRight" backgroundColor="#83c0e9" /> );};export default App;
The properties object.
The rendered MediaSettingsModal component.
Optional
Ignored by React.
Only kept in types for backwards compatibility. Will be removed in a future major release.
Used in debugging messages. You might want to set it explicitly if you want to display a different name for debugging purposes.
Legacy React Docs
const MyComponent: FC = () => { return <div>Hello!</div>}MyComponent.displayName = 'MyAwesomeComponent' Copy
const MyComponent: FC = () => { return <div>Hello!</div>}MyComponent.displayName = 'MyAwesomeComponent'
MediaSettingsModal component provides a modal interface for users to configure media settings such as selecting video and audio input devices.
Component
Example