Go to file
2015-04-04 18:49:05 -07:00
RCTVideo.xcodeproj Fix debug paths 2015-03-30 23:00:16 -07:00
.gitignore Initial commit 2015-03-30 22:07:55 -07:00
package.json Bump version and update README 2015-04-04 17:57:35 -07:00
RCTVideo.h Initial commit 2015-03-30 22:07:55 -07:00
RCTVideo.m Swap out MPMoviePlayerController for AVPlayer 2015-04-04 17:55:37 -07:00
RCTVideoManager.h Initial commit 2015-03-30 22:07:55 -07:00
RCTVideoManager.m Swap out MPMoviePlayerController for AVPlayer 2015-04-04 17:55:37 -07:00
README.md Add resizeMode change to TODO 2015-04-04 18:49:05 -07:00
Video.android.js Initial commit 2015-03-30 22:07:55 -07:00
Video.ios.js Add support for repeat prop 2015-03-30 23:29:15 -07:00
VideoResizeMode.js Initial commit 2015-03-30 22:07:55 -07:00
VideoStylePropTypes.js Initial commit 2015-03-30 22:07:55 -07:00

react-native-video

A

Add it to your project

  1. Run npm install react-native-video --save
  2. Open your project in XCode, right click on Libraries and click Add Files to "Your Project Name" (Screenshot).
  3. Add libRTCVideo.a to Build Phases -> Link Binary With Libraries (Screenshot).
  4. Click on RCTVideo.xcodeproj in Libraries and go the Build Phases tab. Double click the text to the right of Header Search Paths and verify that it has $(SRCROOT)../react-native/React - if it isn't, then add it. This is so XCode is able to find the headers that the RCTVideo source files are referring to by pointing to the header files installed within the react-native node_modules directory. (Screenshot).
  5. Whenever you want to use it within React code now you can: var Video = require('react-native-video');

Example

// 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.
<Video source={"background"} style={styles.backgroundVideo} repeat={true} />

// Later on in your styles..
var styles = Stylesheet.create({
  backgroundVideo: {
    resizeMode: 'cover', // stretch and contain also supported
    position: 'absolute',
    top: 0,
    left: 0,
    bottom: 0,
    right: 0,
  },
});

Example code here.

TODOS

  • Support require('video!...')
  • Support other extensions than mp4?
  • Add prop to set repeat (none or forever)
  • Switch to AVPlayer
  • Switch resizeMode to prop instead of style
  • Add support for other AVPlayer props