useConferenceSystem
A comprehensive hook for managing video conferencing state, including camera access, screen sharing, network monitoring, and automatic media quality adjustment.
Installation
npx sse-tool add use-conference-system
npm install sse-hooks
Usage
import { useConferenceSystem } from "./{hooks file}";
const { camera, screen, quality, network } = useConferenceSystem({
defaultAutoQuality: true,
});
return (
<div>
<video ref={(v) => (v.srcObject = camera.stream)} autoPlay />
<button onClick={camera.start}>Start Camera</button>
<p>
Current Quality: {quality.current} (Auto: {quality.isAuto ? "On" : "Off"})
</p>
<p>Network Speed: {network.speed} Mbps</p>
</div>
);
import { useConferenceSystem } from "sse-hooks";
const { camera, screen, quality, network } = useConferenceSystem({
defaultAutoQuality: true,
});
return (
<div>
<video ref={(v) => (v.srcObject = camera.stream)} autoPlay />
<button onClick={camera.start}>Start Camera</button>
<p>
Current Quality: {quality.current} (Auto: {quality.isAuto ? "On" : "Off"})
</p>
<p>Network Speed: {network.speed} Mbps</p>
</div>
);
API
Parameters
| Name | Type | Description |
|---|---|---|
| options | UseConferenceSystemOptions | Configuration options for the conference system. |
Return Value
Returns UseConferenceSystemReturns.
An object containing camera, screen, quality, and network state controllers.
Changelog
31af5 — Refactor useBattery hook and remove utility functions
c165d — feat: enhance useRoleGuard and useSSR hooks with additional options and documentation
30da4 — feat: add new hooks and their metadata
2f161 — feat: add useConferenceSystem, useKbd, useMediaQuality, useNetworkInformation, usePortal, useRoleGuard, useScreenShare, useSymbol hooks