Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

react-native-web-video

A <Video> component for react-native-web, as seen in

WARNING: In current development

Requires react-native >= 0.40.0, for RN support of 0.19.0 - 0.39.0 please use a pre 1.0 version.

Add it to your project

Run npm i -S react-native-web-video

Alias the package in your webpack config:

resolve: {
alias: {
'react-native': 'react-native-web',
...
'Video': 'react-native-web-video/src/Video',
}
}

Usage

// Within your render function, assuming you have a file called// "background.mp4" in your project. You can include multiple videos// on a single screen if you like.importVideofrom'Video';<Videosource={{uri: "background"}}// Can be a URL or a local file.ref={(ref)=>{this.player=ref}}// Store referencerate={1.0}// 0 is paused, 1 is normal.volume={1.0}// 0 is muted, 1 is normal.muted={false}// Mutes the audio entirely.paused={false}// Pauses playback entirely.resizeMode="cover"// Fill the whole screen at aspect ratio.*repeat={true}// Repeat forever.playInBackground={false}// Audio continues to play when app entering background.playWhenInactive={false}// [iOS] Video continues to play when control or notification center are shown.ignoreSilentSwitch={"ignore"}// [iOS] ignore | obey - When 'ignore', audio will still play with the iOS hard silent switch set to silent. When 'obey', audio will toggle with the switch. When not specified, will inherit audio settings as usual.progressUpdateInterval={250.0}// [iOS] Interval to fire onProgress (default to ~250ms)onLoadStart={this.loadStart}// Callback when video starts to loadonLoad={this.setDuration}// Callback when video loadsonProgress={this.setTime}// Callback every ~250ms with currentTimeonEnd={this.onEnd}// Callback when playback finishesonError={this.videoError}// Callback when video cannot be loadedonBuffer={this.onBuffer}// Callback when remote video is bufferingonTimedMetadata={this.onTimedMetadata}// Callback when the stream receive some metadatastyle={styles.backgroundVideo}/>// Later to trigger fullscreenthis.player.presentFullscreenPlayer()// To set video position in seconds (seek)this.player.seek(0)// Later on in your styles..varstyles=StyleSheet.create({backgroundVideo: {position: 'absolute',top: 0,left: 0,bottom: 0,right: 0,},});

MIT Licensed

About

Video component for react native web

Resources

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages