Skip to content

fullscreen

TypeScript
player.fullscreen(): FullscreenState
player.fullscreen(state: FullscreenState | boolean): void

Read or set fullscreen state. Passing true is equivalent to FullscreenState.ON.

TypeScript
import { FullscreenState } from '@nomercy-entertainment/nomercy-video-player';

const state = player.fullscreen(); // 'off' | 'on'
player.fullscreen(true); // enter fullscreen
player.fullscreen(FullscreenState.OFF); // exit fullscreen

toggleFullscreen

TypeScript
player.toggleFullscreen(): void

Toggle between FullscreenState.ON and FullscreenState.OFF.

pip

TypeScript
player.pip(): PipState
player.pip(state: PipState | boolean): void

Read or set Picture-in-Picture state.

TypeScript
import { PipState } from '@nomercy-entertainment/nomercy-video-player';

player.pip(true); // enter PiP
player.pip(false); // exit PiP

togglePip

TypeScript
player.togglePip(): void

Toggle between PipState.ON and PipState.OFF.

theater

TypeScript
player.theater(): TheaterState
player.theater(state: TheaterState | boolean): void

Read or set theater mode (wider layout). theaterDefault: true in config starts the player in theater mode.

toggleTheater

TypeScript
player.toggleTheater(): void

Toggle between TheaterState.ON and TheaterState.OFF.

subtitleState

TypeScript
player.subtitleState(): SubtitleState

Returns SubtitleState.ON when any subtitle track is active, SubtitleState.OFF otherwise. Read-only, so use player.subtitle(idx) to change the active track.

Events

All state methods emit corresponding events when the value changes:

MethodEventPayload
fullscreen(state)'fullscreen'{ active: boolean }
pip(state)'pip'{ active: boolean }
theater(state)'theater'{ active: boolean }

Example: theater toggle button

TypeScript
import nmplayer, { TheaterState } from '@nomercy-entertainment/nomercy-video-player';

const player = nmplayer('player').setup({
baseUrl: 'https://raw.githubusercontent.com/NoMercy-Entertainment/nomercy-media/master/Films',
theaterDefault: false,
playlist: [
{
title: 'Tears of Steel',
url: '/Tears.of.Steel.(2012)/Tears.of.Steel.(2012).NoMercy.m3u8',
},
],
});

document.getElementById('theater-btn')?.addEventListener('click', () => {
player.toggleTheater();
});

player.on('theater', ({ active }) => {
document.getElementById('theater-btn')?.setAttribute('aria-pressed', String(active));
});

See also