@imokhles/react-native-vlc
Version:
A `VLCPlayer` component for react-native project clone from `react-native-yz-vlcplayer`
176 lines (121 loc) • 3.03 kB
TypeScript
/**
* Created by nghinv on Thu Jun 04 2020
* Copyright (c) 2020 nghinv@lumi.biz
*
* Modified by @iMokhles Oct 19 2020
*/
declare module 'imokhles/react-native-vlc' {
import { PureComponent } from 'react';
import { ViewStyle } from 'react-native';
interface BackHandle {
}
interface Orientation {
}
interface Source {
uri: string;
}
interface VLCPlayerProps {
rate: number;
seek: number;
resume: boolean;
position: number;
snapshotPath: string;
paused: boolean;
autoAspectRatio: boolean;
// '16:9'
videoAspectRatio: string;
// 0 ---> 200
volume: number;
volumeUp: number;
volumeDown: number;
repeat: boolean;
muted: boolean;
hwDecoderEnabled: number;
hwDecoderForced: number;
style: ViewStyle;
onVideoLoadStart: () => void;
onVideoStateChange: () => void;
onVideoProgress: () => void;
onSnapshot: () => void;
onIsPlaying: () => void;
onOpen: () => void;
onLoadStart: () => void;
/* Wrapper component */
source: Source | number;
play: () => void;
snapshot: () => void;
onError: () => void;
onProgress: () => void;
onEnded: () => void;
onStopped: () => void;
onPlaying: () => void;
onPaused: () => void;
/* Required by react-native */
scaleX: number;
scaleY: number;
translateX: number;
translateY: number;
rotation: number;
}
interface VlCPlayerViewProps {
style: ViewStyle;
videoStyle: ViewStyle;
// default false
initPaused: boolean;
// default null
source: Source | number | null;
// default 0
seek: number;
// default false
playInBackground: boolean;
// default false
isAd: boolean;
// default true
autoplay: boolean;
// '1:1'
fullVideoAspectRatio: string;
videoAspectRatio: string;
// default 'Video playback error, please reload'
errorTitle: string;
// default = 250
height: number;
// default false
showAd: boolean;
adUrl: string;
url: string;
// deafault false
showBack: boolean;
// deafault false
showTitle: boolean;
title: string;
// deafault false
showGoLive: boolean,
// deafault true
showLeftButton: boolean;
// deafault true
showMiddleButton: boolean;
// deafault true
showRightButton: boolean;
// deafault true
animationLayout: boolean;
// deafault 'go live'
titleGolive: string;
onEnd: () => void;
onAdEnd: () => void;
startFullScreen: () => void;
closeFullScreen: () => void;
onLeftPress: () => void;
onGoLivePress: () => void;
onReplayPress: () => void;
onVLCProgress: () => void;
onVLCEnded: () => void;
onVLCError: () => void;
onVLCBuffering: () => void;
BackHandle: BackHandle;
Orientation: Orientation;
}
class VLCPlayer extends PureComponent<VLCPlayerProps> {
}
class VlCPlayerView extends PureComponent<VlCPlayerViewProps> {
}
}