UNPKG

mediasfu-reactjs

Version:

MediaSFU Prebuilt ReactJS SDK - Compatible with React 18 & 19, TypeScript & JavaScript

127 lines 7.46 kB
import { DisconnectSendTransportScreenType, PrepopulateUserMediaType, ReorderStreamsType, GetVideosType, DisconnectSendTransportScreenParameters, PrepopulateUserMediaParameters, ReorderStreamsParameters, EventType } from '../@types/types'; export interface StopShareScreenParameters extends DisconnectSendTransportScreenParameters, PrepopulateUserMediaParameters, ReorderStreamsParameters { shared: boolean; shareScreenStarted: boolean; shareEnded: boolean; updateMainWindow: boolean; defer_receive: boolean; hostLabel: string; lock_screen: boolean; forceFullDisplay: boolean; firstAll: boolean; first_round: boolean; localStreamScreen: MediaStream | null; eventType: EventType; prevForceFullDisplay: boolean; annotateScreenStream: boolean; updateShared: (shared: boolean) => void; updateShareScreenStarted: (shareScreenStarted: boolean) => void; updateShareEnded: (shareEnded: boolean) => void; updateUpdateMainWindow: (updateMainWindow: boolean) => void; updateDefer_receive: (defer_receive: boolean) => void; updateLock_screen: (lock_screen: boolean) => void; updateForceFullDisplay: (forceFullDisplay: boolean) => void; updateFirstAll: (firstAll: boolean) => void; updateFirst_round: (first_round: boolean) => void; updateLocalStreamScreen: (localStreamScreen: MediaStream | null) => void; updateMainHeightWidth: (mainHeightWidth: number) => void; updateAnnotateScreenStream: (annotateScreenStream: boolean) => void; updateIsScreenboardModalVisible: (isVisible: boolean) => void; disconnectSendTransportScreen: DisconnectSendTransportScreenType; prepopulateUserMedia: PrepopulateUserMediaType; reorderStreams: ReorderStreamsType; getVideos: GetVideosType; getUpdatedAllParams: () => StopShareScreenParameters; [key: string]: any; } export interface StopShareScreenOptions { parameters: StopShareScreenParameters; } export type StopShareScreenType = (options: StopShareScreenOptions) => Promise<void>; /** * Stops the screen sharing process and updates the relevant parameters and states. * * @param {StopShareScreenOptions} options - The options for stopping the screen share. * @param {Object} options.parameters - The parameters required for stopping the screen share. * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters. * @param {boolean} options.parameters.shared - Indicates if the screen is currently shared. * @param {boolean} options.parameters.shareScreenStarted - Indicates if the screen sharing has started. * @param {boolean} options.parameters.shareEnded - Indicates if the screen sharing has ended. * @param {boolean} options.parameters.updateMainWindow - Indicates if the main window needs to be updated. * @param {boolean} options.parameters.defer_receive - Indicates if receiving is deferred. * @param {string} options.parameters.hostLabel - The label of the host. * @param {boolean} options.parameters.lock_screen - Indicates if the screen is locked. * @param {boolean} options.parameters.forceFullDisplay - Indicates if full display is forced. * @param {boolean} options.parameters.firstAll - Indicates if it is the first all. * @param {boolean} options.parameters.first_round - Indicates if it is the first round. * @param {MediaStream} options.parameters.localStreamScreen - The local screen stream. * @param {string} options.parameters.eventType - The type of event. * @param {boolean} options.parameters.prevForceFullDisplay - Indicates if full display was previously forced. * @param {boolean} options.parameters.annotateScreenStream - Indicates if the screen stream is annotated. * @param {Function} options.parameters.updateShared - Function to update the shared state. * @param {Function} options.parameters.updateShareScreenStarted - Function to update the share screen started state. * @param {Function} options.parameters.updateShareEnded - Function to update the share ended state. * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state. * @param {Function} options.parameters.updateDefer_receive - Function to update the defer receive state. * @param {Function} options.parameters.updateLock_screen - Function to update the lock screen state. * @param {Function} options.parameters.updateForceFullDisplay - Function to update the force full display state. * @param {Function} options.parameters.updateFirstAll - Function to update the first all state. * @param {Function} options.parameters.updateFirst_round - Function to update the first round state. * @param {Function} options.parameters.updateLocalStreamScreen - Function to update the local screen stream. * @param {Function} options.parameters.updateMainHeightWidth - Function to update the main height and width. * @param {Function} options.parameters.updateAnnotateScreenStream - Function to update the annotate screen stream state. * @param {Function} options.parameters.updateIsScreenboardModalVisible - Function to update the screenboard modal visibility. * @param {Function} options.parameters.disconnectSendTransportScreen - Function to disconnect the send transport screen. * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media. * @param {Function} options.parameters.reorderStreams - Function to reorder streams. * @param {Function} options.parameters.getVideos - Function to get videos. * * @returns {Promise<void>} A promise that resolves when the screen sharing process is stopped. * * @example * const options = { * parameters: { * shared: true, * shareScreenStarted: true, * shareEnded: false, * updateMainWindow: true, * defer_receive: false, * hostLabel: "Host", * lock_screen: false, * forceFullDisplay: false, * firstAll: false, * first_round: false, * localStreamScreen: localStream, // MediaStream object * eventType: "conference", * prevForceFullDisplay: false, * annotateScreenStream: false, * updateShared: updateSharedFunction, * updateShareScreenStarted: updateShareScreenStartedFunction, * updateShareEnded: updateShareEndedFunction, * updateUpdateMainWindow: updateUpdateMainWindowFunction, * updateDefer_receive: updateDefer_receiveFunction, * updateLock_screen: updateLock_screenFunction, * updateForceFullDisplay: updateForceFullDisplayFunction, * updateFirstAll: updateFirstAllFunction, * updateFirst_round: updateFirst_roundFunction, * updateLocalStreamScreen: updateLocalStreamScreenFunction, * updateMainHeightWidth: updateMainHeightWidthFunction, * updateAnnotateScreenStream: updateAnnotateScreenStreamFunction, * updateIsScreenboardModalVisible: updateIsScreenboardModalVisibleFunction, * disconnectSendTransportScreen: disconnectSendTransportScreenFunction, * prepopulateUserMedia: prepopulateUserMediaFunction, * reorderStreams: reorderStreamsFunction, * getVideos: getVideosFunction, * }, * }; * * stopShareScreen(options) * .then(() => { * console.log('Screen sharing stopped successfully'); * }) * .catch(error => { * console.error('Error stopping screen share:', error); * }); */ export declare function stopShareScreen({ parameters }: StopShareScreenOptions): Promise<void>; //# sourceMappingURL=stopShareScreen.d.ts.map