/ Videos

Start a player for streaming a video via intent with react native

Start a player for streaming a video via intent with react native

React Native: react-native-intent-player

It allows you to start a player for streaming a video via intent.

📖 Getting started

$ npm install react-native-intent-player --save

$ react-native link react-native-intent-player

Android

Add react-native-intent-player to your ./android/settings.gradle file as follows:

...
include ':app'
+ include ':react-native-intent-player'
+ project(':react-native-intent-player').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-intent-player/android/app')

Include it as dependency in ./android/app/build.gradle file:

dependencies {
    ...
    compile "com.facebook.react:react-native:+"  // From node_modules
+   compile project(':react-native-intent-player')
}

Finally, you need to add the package within the ReactInstanceManager of your
MainActivity (./android/app/src/main/java/your/bundle/MainActivity.java):

import com.zappi.intent.player.PlayerPackage;  // <---- import this one
...
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new PlayerPackage()  // <---- add this line
    );
}

After that, you will need to recompile
your project with react-native run-android.

💻 Usage

import React, { Component } from 'react';
import Player from 'react-native-intent-player';

type Props = {};
export default class App extends Component<Props> {

  constructor(props) {
    super(props);
    this.state = {
      url: 'https://www.w3schools.com/html/mov_bbb.mp4',
    };
  }

  componentDidMount() {
    Player.play(this.state.url)
      .then(a => {
        console.log(a);
      })
      .catch(e => console.log(e));
  }

  render() {
    return null;
  }
}

GitHub

Comments