UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

23 lines (18 loc) 891 B
import type { EventBroadcastAPI, PlayerEventMap, THEOplayer } from 'react-native-theoplayer'; import { NativeModules } from 'react-native'; import type { THEOplayerAdapter } from '../THEOplayerAdapter'; import type { StringKeyOf } from '../../../api/event/EventDispatcher'; const NativeEventBroadcastModule = NativeModules.THEORCTEventBroadcastModule; export class EventBroadcastAdapter implements EventBroadcastAPI { constructor(private _player: THEOplayer) {} broadcastEvent<K extends StringKeyOf<PlayerEventMap>>(event: PlayerEventMap[K]): void { // Broadcast ReactNative event. (this._player as THEOplayerAdapter).dispatchEvent(event); try { // Broadcast native event. NativeEventBroadcastModule.broadcastEvent(this._player.nativeHandle, Object.freeze(event)); } catch (e) { console.warn(`EventBroadcastModule not available: ${e}`); } } }