UNPKG

@aidenlx/player

Version:

Headless web components that make integrating media on the a web a breeze.

94 lines (93 loc) 2.34 kB
import "../../chunks/chunk.LNH2V2XS.js"; import { hostRequestQueue, vdsEvent } from "@vidstack/foundation"; class MediaRemoteControl { constructor(_host) { this._host = _host; this._connectedQueue = hostRequestQueue(this._host); this._logger = false ? new LogDispatcher(this._host) : void 0; } play(event) { this._dispatchRequest("vds-play-request", { triggerEvent: event }); } pause(event) { this._dispatchRequest("vds-pause-request", { triggerEvent: event }); } mute(event) { this._dispatchRequest("vds-mute-request", { triggerEvent: event }); } unmute(event) { this._dispatchRequest("vds-unmute-request", { triggerEvent: event }); } enterFullscreen(event) { this._dispatchRequest("vds-enter-fullscreen-request", { triggerEvent: event }); } exitFullscreen(event) { this._dispatchRequest("vds-exit-fullscreen-request", { triggerEvent: event }); } seeking(time, event) { this._dispatchRequest("vds-seeking-request", { detail: time, triggerEvent: event }); } seek(time, event) { this._dispatchRequest("vds-seek-request", { detail: time, triggerEvent: event }); } changeVolume(volume, event) { this._dispatchRequest("vds-volume-change-request", { detail: volume, triggerEvent: event }); } resumeIdling(event) { this._dispatchRequest("vds-resume-idling-request", { triggerEvent: event }); } pauseIdling(event) { this._dispatchRequest("vds-pause-idling-request", { triggerEvent: event }); } showPoster(event) { this._dispatchRequest("vds-show-poster-request", { triggerEvent: event }); } hidePoster(event) { this._dispatchRequest("vds-hide-poster-request", { triggerEvent: event }); } _dispatchRequest(type, eventInit) { this._connectedQueue.queue(type, () => { const request = vdsEvent(type, { ...eventInit, bubbles: true, composed: true }); if (false) { this._logger?.infoGroup(`\u{1F4E8} dispatching \`${type}\``).labelledLog("Request Event", request).labelledLog("Trigger Event", eventInit.triggerEvent).dispatch(); } this._host.dispatchEvent(request); }); } } export { MediaRemoteControl };