A collection of hooks and components for easier access to getUserMedia, getDisplayMedia, and enumerateDevices in React.
peerDependencies: react >= 19) and a secure context / modern browser APIs for getUserMedia, getDisplayMedia, and enumerateDevicesuseMedia('user')
useMedia('display')
useMediaTracks(...)
useMediaAudioTracks(...)useMediaVideoTracks(...)useTrackMuteState(...)useMediaDevices()
useMediaAudioInputDevices()useMediaAudioOutputDevices()useMediaVideoDevices()useMediaRecorder()
AudioPlayerVideoPlayergetSupportedConstraints()closeMedia(...)Please feel free to open any issues or PRs!
This project uses pnpm for dependency management. Local development requires Node.js 22.12+ (Vite 7) and React 19 for the workspace packages.
Toolchain:
pnpm lint, pnpm format)Then just pnpm run:
build - builds the projectdev - starts hosting the examples for local developmenttest - runs testslint - runs Biome checksformat - applies Biome formatting fixesDual-licensed under Apache 2.0 + MIT.