Controls elements and utilities for react-native video players (react-native-video, expo-av, etc.).
video-controls-demo.webm
npm install @premieroctet/react-native-video-controls
yarn add @premieroctet/react-native-video-controls
Additionally, you need to install react-native-gesture-handler (at least v2) and react-native-reanimated (at least v2).
No other dependency is required, which makes the lib fully compatible with Expo.
A complete example app with a basic usage is available in the example folder.
<VideoControls
componentsProps={componentProps}
components={components}
onFastForward={onFastForward}
onFastRewind={onFastRewind}
videoElement={
<Video
source={{
uri: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
}}
useNativeControls={false}
onLoad={onLoad}
onPlaybackStatusUpdate={onPlaybackStatusUpdate}
shouldPlay
rotation={isFullScreen ? 90 : 0}
style={[
{ width: '100%' },
isFullScreen
? {
height: '100%',
}
: { aspectRatio: 16 / 9 },
]}
ref={videoRef}
pointerEvents="none"
/>
}
/>
See API for the list of available components and hooks.
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
This project is being developed by Premier Octet, a Web and mobile agency specializing in React and React Native developments.
Inspired from react-native-video-controls