useMediaAttach
Hook to register a custom media element with the player context
useMediaAttach returns a setter function for attaching a media element to the player context. The built-in <Video> and <Audio> components use this internally — you only need it when building a custom media element.
import { useMediaAttach } from "@videojs/react";
function CustomMedia({ src }: { src: string }) {
const setMedia = useMediaAttach();
return <video ref={setMedia} src={src} />;
}Who needs this
You only need useMediaAttach if you’re replacing the built-in <Video> or <Audio> components with a custom element. For example, if you’re…
- Wrapping a third-party video player
- Using a
<canvas>or WebGL-based renderer - Building a custom
<audio>element with additional markup
For standard <video> and <audio> playback, use the built-in components.
Safe outside Provider
Returns undefined when called outside a Player Provider. Check the return value before using it — this avoids crashes in components that may render outside the player tree.
API Reference
Return Value
| Type | Details |
|---|---|
Dispatch<SetStateAction<Media | null>... | |
| |