/** * Copyright (c) Double Symmetry GmbH * Commercial use requires a license. See https://rntp.dev/pricing */ export enum PlayerCommand { Seek = 'seek', PlayPause = 'playPause', Next = 'next', Previous = 'previous', Stop = 'stop', SkipForward = 'skipForward', SkipBackward = 'skipBackward', } /** * Defines who handles remote control button presses. * - 'native': Native player handles all commands immediately (default, recommended). * Works without JS, including Android Auto / CarPlay (via persisted session config). * - 'js': JS event handler decides what happens — native does not perform the action. * Requires a running RN runtime (`addEventListener` / `registerBackgroundEventHandler`). * Not suitable for in-car-only paths where JS does not run. * - 'hybrid': Native handles by default, but specific commands can be overridden to JS */ export type RemoteControlHandling = 'native' | 'js' | 'hybrid'; /** * Per-command handling override. Only used when RemoteControlHandling is 'hybrid'. */ export type PerCommandHandling = Partial< Record >;