UNPKG

mediasfu-reactjs

Version:

mediasfu-reactjs – React 18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Plug-in prebuilt rooms or build fully custom UIs.

95 lines 4.63 kB
import React from "react"; import './MediasfuCSS.css'; import { WelcomePageOptions } from "../miscComponents/WelcomePage"; import { PreJoinPageOptions, SeedData, CreateMediaSFURoomOptions, JoinMediaSFURoomOptions, JoinRoomOnMediaSFUType, CreateRoomOnMediaSFUType, CustomComponentType, CustomVideoCardType, CustomAudioCardType, CustomMiniCardType, MediasfuUICustomOverrides } from "../../@types/types"; export type MediasfuBroadcastOptions = { PrejoinPage?: (options: PreJoinPageOptions | WelcomePageOptions) => React.ReactNode; localLink?: string; connectMediaSFU?: boolean; credentials?: { apiUserName: string; apiKey: string; }; useLocalUIMode?: boolean; seedData?: SeedData; useSeed?: boolean; imgSrc?: string; sourceParameters?: { [key: string]: any; }; updateSourceParameters?: (data: { [key: string]: any; }) => void; returnUI?: boolean; noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions; joinMediaSFURoom?: JoinRoomOnMediaSFUType; createMediaSFURoom?: CreateRoomOnMediaSFUType; customComponent?: CustomComponentType; customVideoCard?: CustomVideoCardType; customAudioCard?: CustomAudioCardType; customMiniCard?: CustomMiniCardType; containerStyle?: React.CSSProperties; uiOverrides?: MediasfuUICustomOverrides; }; /** * MediasfuBroadcast component optimizes the media experience for broadcasting events. * Only the host can share media (audio, video, *no screen share support*) with participants. * Participants can view the host's media and chat with each other. * It manages various states and references related to the media session, including * user credentials, room details, participants, and recording parameters. * * @typedef {Object} MediasfuBroadcastOptions * @property {function} [PrejoinPage=WelcomePage] - Function to render the prejoin page. * @property {string} [localLink=""] - Local link for the media server (if using Community Edition). * @property {boolean} [connectMediaSFU=true] - Flag to connect to the MediaSFU server (if using Community Edition and still need to connect to the server) * @property {Object} [credentials={ apiUserName: "", apiKey: "" }] - API credentials. * @property {boolean} [useLocalUIMode=false] - Flag to use local UI mode. * @property {SeedData} [seedData={}] - Seed data for initial state. * @property {boolean} [useSeed=false] - Flag to use seed data. * @property {string} [imgSrc="https://mediasfu.com/images/logo192.png"] - Image source URL. * @property {Object} [sourceParameters={}] - Source parameters. * @property {function} [updateSourceParameters] - Function to update source parameters. * @property {boolean} [returnUI=true] - Flag to return the UI. * @property {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} [noUIPreJoinOptions] - Options for the prejoin page. * @property {JoinRoomOnMediaSFUType} [joinMediaSFURoom] - Function to join a room on MediaSFU. * @property {CreateRoomOnMediaSFUType} [createMediaSFURoom] - Function to create a room on MediaSFU. * @property {CustomComponentType} [customComponent] - Custom component to replace the entire MediaSFU UI. * @property {React.CSSProperties} [containerStyle] - Custom styles to override the default container styling. * * MediasfuBroadcast component. * * @component * @param {MediasfuBroadcastOptions} props - Component properties. * @returns {React.ReactNode} The rendered component. * * @example * ```tsx * <MediasfuBroadcast * PrejoinPage={CustomPrejoinPage} * localLink="https://your-mediasfu-server.example.com" * connectMediaSFU={true} * credentials={{ apiUserName: "user", apiKey: "key" }} * useLocalUIMode={true} * seedData={customSeedData} * useSeed={true} * imgSrc="https://example.com/logo.png" * sourceParameters={{ key: value }} * updateSourceParameters={updateSourceParameters} * returnUI={true} * noUIPreJoinOptions={customPreJoinOptions} * joinMediaSFURoom={joinRoomOnMediaSFU} * createMediaSFURoom={createRoomOnMediaSFU} * customComponent={CustomBroadcastComponent} * /> * ``` * * @description * This component handles the broadcast functionalities for MediaSFU, including joining rooms, * managing participants, and handling media streams. It uses various hooks and methods to * manage state and perform actions such as joining a room, updating initial values, and * handling media streams. * */ declare const MediasfuBroadcast: React.FC<MediasfuBroadcastOptions>; export default MediasfuBroadcast; //# sourceMappingURL=MediasfuBroadcast.d.ts.map