UNPKG

@nativeframe/react-native-native-frame

Version:
54 lines 2.07 kB
import { Component, type ReactNode } from 'react'; import { ManifestPlayerEvents, type ManifestPlayerRequestsListener } from '../native-events/ManifestPlayerEvents'; import { VideoClient, types } from '@video/video-client-core'; type NativeDrivers = 'webrtc' | 'native-hls'; type NativeFormats = 'webrtc' | 'mp4-hls'; type NativePlayerSpecList = { id: NativeDrivers; }[]; interface ManifestPlayerProps { manifestUrl: string; token: string; videoClientOptions?: types.VideoClientOptions; players?: NativeDrivers[]; autoplay?: boolean; muted?: boolean; preferredScoreLevel?: types.TranscodeScoreLevel | types.SourceScoreLevel; debounceInitTime?: number; children?: (props: { player: NativeFramePlayer; }) => ReactNode | null; } interface ManifestPlayerState { format: NativeFormats | undefined; source: string | null; availableQualities: string[]; paused: boolean; muted: boolean; driver: string | null; } export declare class NativeFramePlayer extends Component<ManifestPlayerProps, ManifestPlayerState> implements ManifestPlayerRequestsListener { readonly TAG = "NativeFramePlayer"; readonly events: ManifestPlayerEvents; videoClient: VideoClient; players: NativePlayerSpecList; player: types.PlayerAPI<types.VideoElement> | null; mediaStream: MediaStream | null; availableQualities: string[]; initPlayerTimeout: ReturnType<typeof setTimeout> | null; constructor(props: ManifestPlayerProps); componentDidUpdate(prevProps: Readonly<ManifestPlayerProps>): void; initManifestPlayer: () => void; onRequestTimeupdate: () => void; onRequestVideoPause: () => void; onRequestVideoPlay: () => void; onRequestVideoMuteToggle: () => void; onRequestDisposePlayer: () => void; onRequestPreferredQualityChange: (level: string) => void; onRequestReloadPlayer: () => void; onRequestInitPlayer: () => void; resetState: (fn?: () => void) => void; render(): ReactNode; } export {}; //# sourceMappingURL=NativeFramePlayer.d.ts.map