Function MediaSettingsModal

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;

Properties

propTypes?: WeakValidationMap<MediaSettingsModalOptions>

Used to declare the types of the props accepted by the component. These types will be checked during rendering and in development only.

We recommend using TypeScript instead of checking prop types at runtime.

contextTypes?: ValidationMap<any>

Lets you specify which legacy context is consumed by this component.

defaultProps?: Partial<MediaSettingsModalOptions>

Used to define default values for the props accepted by the component.

type Props = { name?: string }

const MyComponent: FC<Props> = (props) => {
return <div>{props.name}</div>
}

MyComponent.defaultProps = {
name: 'John Doe'
}
displayName?: string

Used in debugging messages. You might want to set it explicitly if you want to display a different name for debugging purposes.


const MyComponent: FC = () => {
return <div>Hello!</div>
}

MyComponent.displayName = 'MyAwesomeComponent'