A video player for react-native, support hls
npm install @remobile/react-native-video --save
...
include ':react-native-video'
project(':react-native-video').projectDir = new File(settingsDir, '../node_modules/@remobile/react-native-video/android/RCTVideo')
android/app/build.gradle
...
dependencies {
...
compile project(':react-native-video')
}
......
import com.remobile.video.RCTVideoPackage; // <--- import
......
@Override
protected List<ReactPackage> getPackages() {
......
new RCTVideoPackage(), // <------ add here
......
}
## Usage
### Example
```js
'use strict';
import React from 'react';
import {
StyleSheet,
Text,
TouchableOpacity,
View,
} from 'react-native';
import Video from '@remobile/react-native-video';
class VideoPlayer extends React.Component {
constructor(props) {
super(props);
}
state = {
rate: 1,
volume: 1,
muted: false,
resizeMode: 'stretch',
duration: 0.0,
currentTime: 0.0,
paused: false,
};
render() {
return (
<View style={styles.container}>
<Video
source={{uri: 'http://localhost:3000/test.m3u8'}}
style={styles.videoNormalFrame}
rate={this.state.rate}
paused={this.state.paused}
volume={this.state.volume}
muted={this.state.muted}
resizeMode={this.state.resizeMode}
onEnd={() => { AlertIOS.alert('Done!') }}
repeat={true}
/>
</View>
);
}
}
module.exports = VideoPlayer;
var NORMAL_WIDTH = sr.w;
var NORMAL_HEIGHT = NORMAL_WIDTH*2/3;
var FULL_WIDTH = sr.h;
var FULL_HEIGHT = sr.w;
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'black',
},
videoNormalFrame: {
position: 'absolute',
top:0,
left: 0,
width: NORMAL_WIDTH,
height: NORMAL_HEIGHT,
},
});