unified-video-framework
Version:
Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more
49 lines • 1.86 kB
TypeScript
import React from 'react';
type ViewStyle = any;
import { VideoSource, PlayerConfig, PlayerStateInterface, Quality, SubtitleTrack, PlayerError, PlayerEvent, EventHandler } from '@unified-video/core';
interface ReactNativePlayerProps {
style?: ViewStyle;
config?: PlayerConfig;
onReady?: () => void;
onError?: (error: PlayerError) => void;
}
export interface ReactNativePlayerRef {
destroy(): Promise<void>;
load(videoSource: VideoSource): Promise<void>;
play(): Promise<void>;
pause(): void;
stop(): void;
seek(time: number): void;
setVolume(level: number): void;
mute(): void;
unmute(): void;
toggleMute(): void;
getQualities(): Quality[];
getCurrentQuality(): Quality | null;
setQuality(index: number): void;
setAutoQuality(enabled: boolean): void;
setPlaybackRate(rate: number): void;
getPlaybackRate(): number;
getCurrentTime(): number;
getDuration(): number;
getBufferedPercentage(): number;
getState(): PlayerStateInterface;
isPlaying(): boolean;
isPaused(): boolean;
isEnded(): boolean;
enterFullscreen(): Promise<void>;
exitFullscreen(): Promise<void>;
toggleFullscreen(): Promise<void>;
enterPictureInPicture(): Promise<void>;
exitPictureInPicture(): Promise<void>;
on(event: PlayerEvent, handler: EventHandler): void;
off(event: PlayerEvent, handler?: EventHandler): void;
once(event: PlayerEvent, handler: EventHandler): void;
getSubtitles(): SubtitleTrack[];
setSubtitleTrack(index: number): void;
disableSubtitles(): void;
getVideoRef(): any;
}
export declare const ReactNativePlayer: React.ForwardRefExoticComponent<ReactNativePlayerProps & React.RefAttributes<ReactNativePlayerRef>>;
export {};
//# sourceMappingURL=ReactNativePlayer.d.ts.map