UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

51 lines (50 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.THEOplayerNativeChromecast = void 0; var _reactNativeTheoplayer = require("react-native-theoplayer"); var _reactNative = require("react-native"); const NativeCastModule = _reactNative.NativeModules.THEORCTCastModule; class THEOplayerNativeChromecast { _casting = false; _state = _reactNativeTheoplayer.CastState.available; constructor(player, view) { this._player = player; this._view = view; this._player.addEventListener(_reactNativeTheoplayer.PlayerEventType.CAST_EVENT, this._onCastStateChange); } async init_() { this._casting = await NativeCastModule.chromecastCasting(this._view.nativeHandle); this._state = await NativeCastModule.chromecastState(this._view.nativeHandle); } _onCastStateChange = event => { if (event.subType === _reactNativeTheoplayer.CastEventType.CHROMECAST_STATE_CHANGE) { this._state = event.state; this._casting = event.state === 'connected'; } }; get casting() { return this._casting; } get state() { return this._state; } start() { NativeCastModule.chromecastStart(this._view.nativeHandle); } stop() { NativeCastModule.chromecastStop(this._view.nativeHandle); } join() { NativeCastModule.chromecastJoin(this._view.nativeHandle); } leave() { NativeCastModule.chromecastLeave(this._view.nativeHandle); } unload_() { this._player.removeEventListener(_reactNativeTheoplayer.PlayerEventType.CAST_EVENT, this._onCastStateChange); } } exports.THEOplayerNativeChromecast = THEOplayerNativeChromecast; //# sourceMappingURL=THEOplayerNativeChromecast.js.map