@nativeframe/react-native-native-frame
Version:
React native package for streaming
102 lines (101 loc) • 3.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ManifestPlayerEvents = void 0;
var _reactNative = require("react-native");
class ManifestPlayerEvents {
constructor(requestsListener) {
this.requestsListener = requestsListener;
}
subscribeEvents() {
this.emitter = _reactNative.Platform.OS === 'android' ? _reactNative.DeviceEventEmitter : new _reactNative.NativeEventEmitter(_reactNative.NativeModules.ManifestPlayerEvents);
this.emitter.addListener('player.pause', () => {
this.requestsListener.onRequestVideoPause();
});
this.emitter.addListener('player.play', () => {
this.requestsListener.onRequestVideoPlay();
});
this.emitter.addListener('player.timeupdate', () => {
this.requestsListener.onRequestTimeupdate();
});
this.emitter.addListener('player.dispose', () => {
this.requestsListener.onRequestDisposePlayer();
});
this.emitter.addListener('player.preferredQuality', qualityLevel => {
this.requestsListener.onRequestPreferredQualityChange(qualityLevel);
});
this.emitter.addListener('player.refresh', () => {
this.requestsListener.onRequestReloadPlayer();
});
this.emitter.addListener('player.init', () => {
this.requestsListener.onRequestInitPlayer();
});
this.emitter.addListener('player.toggleMute', () => {
this.requestsListener.onRequestVideoMuteToggle();
});
}
clear() {
this.emitter.removeAllListeners();
}
onManifest(manifest) {
_reactNative.NativeModules.ManifestPlayerEvents?.onManifest({
manifest: manifest
});
}
onStreamOffline(manifest) {
_reactNative.NativeModules.ManifestPlayerEvents?.onStreamOffline({
manifest: manifest
});
}
onManifestUnauthorized(manifest) {
_reactNative.NativeModules.ManifestPlayerEvents?.onManifestUnauthorized({
manifest: manifest
});
}
onError(error) {
_reactNative.NativeModules.ManifestPlayerEvents?.onError({
error: error
});
}
onManifestSourceChange(source, peerId) {
_reactNative.NativeModules.ManifestPlayerEvents?.onManifestSourceChange({
source: source,
peerId: peerId
});
}
onDriverChange(driver) {
_reactNative.NativeModules.ManifestPlayerEvents?.onDriverChange({
driver: driver
});
}
onVideoPlay() {
_reactNative.NativeModules.ManifestPlayerEvents?.onVideoPlay();
}
onVideoPaused() {
_reactNative.NativeModules.ManifestPlayerEvents?.onVideoPaused();
}
onMute(muted) {
_reactNative.NativeModules.ManifestPlayerEvents?.onMute({
muted: muted
});
}
onDisposed() {
_reactNative.NativeModules.ManifestPlayerEvents?.onDisposed();
}
onAvailableQualities(availableQualities) {
_reactNative.NativeModules.ManifestPlayerEvents?.onAvailableQualities({
availableQualities: availableQualities
});
}
onAccessDenied(message) {
_reactNative.NativeModules.ManifestPlayerEvents?.onAccessDenied({
message: message
});
}
onPeerAtCapacity() {
_reactNative.NativeModules.ManifestPlayerEvents?.onPeerAtCapacity();
}
}
exports.ManifestPlayerEvents = ManifestPlayerEvents;
//# sourceMappingURL=ManifestPlayerEvents.js.map