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:
| Method | Event | Payload |
|---|---|---|
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));
});