Hooks
useGlobalPlayerSettings
Coordinate shared playback and preference changes across multiple mounted Video instances.
useGlobalPlayerSettings() is the advanced page-level hook for shared controls.
Signature
const settings = useGlobalPlayerSettings();It returns shared values and fan-out actions for mounted players, including:
mutedvolumeplaybackRatepreferredQualitypreferredAudioLanguagepreferredSubtitleLanguagesetMuted(muted)setVolume(volume)setPlaybackRate(rate)setPreferredQuality(quality)setPreferredAudioLanguage(language)setPreferredSubtitleLanguage(language)pauseAll()
Example
import {Video, useGlobalPlayerSettings} from "@rixl/videosdk-react";
function PageLevelPlayerControls() {
const {muted, setMuted, pauseAll} = useGlobalPlayerSettings();
return (
<div className="space-y-4">
<div className="grid grid-cols-2 gap-4">
<Video id="video-a" theme="hideUI" analytics={false} />
<Video id="video-b" theme="hideUI" analytics={false} />
</div>
<div className="flex items-center gap-3">
<button type="button" onClick={() => setMuted(!muted)}>
{muted ? "Unmute all" : "Mute all"}
</button>
<button type="button" onClick={() => pauseAll()}>
Pause all
</button>
</div>
</div>
);
}Notes
- This hook is for page-level coordination, not a replacement for player-scoped hooks.
- Shared language preferences only apply when a mounted player exposes matching tracks.
- For single-player custom UI, prefer the player-scoped hooks in this section.