--- title: selectVolume description: Select the volume state slice from the player store --- import UtilReference from "@/components/docs/api-reference/UtilReference.astro"; import DocsLink from "@/components/docs/DocsLink.astro"; import FrameworkCase from "@/components/docs/FrameworkCase.astro"; Pass `selectVolume` to `usePlayer` to subscribe to volume state. Returns `undefined` if the volume feature is not configured. Pass `selectVolume` to `PlayerController` to subscribe to volume state. Returns `undefined` if the volume feature is not configured. The returned state includes `volume`, `muted`, and action methods like `setVolume` and `setMuted`. ```tsx import { usePlayer } from '@videojs/react'; import { selectVolume } from '@videojs/core/dom'; function VolumeSlider() { const vol = usePlayer(selectVolume); if (!vol) return null; return ( vol.setVolume(Number(e.target.value))} /> ); } ``` ```ts import { createPlayer, features, MediaElement } from '@videojs/html'; import { selectVolume } from '@videojs/core/dom'; const { PlayerController, context } = createPlayer({ features: features.video }); class VolumeSlider extends MediaElement { #volume = new PlayerController(this, context, selectVolume); } ```