react-airplay
Version:
Airplay bridge for React Native
28 lines (26 loc) • 1.66 kB
JavaScript
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
const {
RAEvents,
RAAirplayConnectivityContext,
RAExternalPlaybackAvailabilityContext,
RARoutePickerContext
} = NativeModules;
const constants = RAEvents === null || RAEvents === void 0 ? void 0 : RAEvents.getConstants();
export const AirplayConnectivityContext = RAAirplayConnectivityContext;
export const ExternalPlaybackAvailabilityContext = RAExternalPlaybackAvailabilityContext;
export const {
EXTERNAL_PLAYBACK_AVAILABILITY_CHANGED,
AV_AUDIO_SESSION_ROUTES_CHANGED
} = constants !== null && constants !== void 0 ? constants : {};
export const ExternalPlaybackAvailabilityEventEmitter = new NativeEventEmitter(RAExternalPlaybackAvailabilityContext);
export const AirplayConnectivityEventEmitter = new NativeEventEmitter(RAAirplayConnectivityContext);
export const onExternalPlaybackAvailabilityChanged = callback => ExternalPlaybackAvailabilityEventEmitter.addListener(EXTERNAL_PLAYBACK_AVAILABILITY_CHANGED, callback);
export const onAvAudioSessionRoutesChanged = callback => AirplayConnectivityEventEmitter.addListener(AV_AUDIO_SESSION_ROUTES_CHANGED, callback);
export const showRoutePicker = options => {
var _RARoutePickerContext;
if (Platform.OS !== 'ios' && RARoutePickerContext === undefined) {
console.warn('showRoutePicker is only supported on iOS');
}
return (_RARoutePickerContext = RARoutePickerContext === null || RARoutePickerContext === void 0 ? void 0 : RARoutePickerContext.showRoutePicker(options)) !== null && _RARoutePickerContext !== void 0 ? _RARoutePickerContext : Promise.resolve();
};
//# sourceMappingURL=airplayModule.js.map