An open API service indexing awesome lists of open source software.

https://github.com/jhen0409/react-native-vlc

WIP VLC component for RN
https://github.com/jhen0409/react-native-vlc

Last synced: 4 months ago
JSON representation

WIP VLC component for RN

Awesome Lists containing this project

README

          

## react-native-vlc

A `` component for react-native that uses VLC. Aims for compatibility with (react-native-video)[https://github.com/react-native-community/react-native-video]

Does not support iOS

Requires react-native >= 0.19.0

### Add it to your project

Run `npm i -S react-native-vlc`

#### Android

First add the Jitpack source to your repositories

```diff
allprojects {
repositories {
mavenLocal()
jcenter()
flatDir{
dirs 'libs'
}
+ maven { url "https://jitpack.io" }
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$projectDir/../../node_modules/react-native/android"
}
}
}
```

Then install [rnpm](https://github.com/rnpm/rnpm) and run `rnpm link react-native-vlc`

Or if you have trouble using [rnpm](https://github.com/rnpm/rnpm), make the following additions to the given files manually:

**android/settings.gradle**

```
include ':react-native-vlc'
project(':react-native-vlc').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vlc/android')
```

**android/app/build.gradle**

```
dependencies {
...
compile project(':react-native-vlc')
}
```

**MainActivity.java**

On top, where imports are:

```java
import com.brentvatne.react.ReactVLCPackage;
```

Under `.addPackage(new MainReactPackage())`:

```java
.addPackage(new ReactVLCPackage())
```

### Note: In react-native >= 0.29.0 you have to edit `MainApplication.java`

**MainApplication.java** (react-native >= 0.29.0)

On top, where imports are:

```java
import com.brentvatne.react.ReactVLCPackage;
```

Under `.addPackage(new MainReactPackage())`:

```java
.addPackage(new ReactVLCPackage())
```

## Usage

```javascript
// 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.

// Later on in your styles..
var styles = StyleSheet.create({
backgroundVideo: {
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0,
},
});
```
## Static Methods

`seek(seconds)`

Seeks the video to the specified time (in seconds). Access using a ref to the component

## Examples

## Updating VLC SDK dependency

You may want to update the VLC SDK from time to time. Currently we use 2.0.6.

To update the dependency on VLC SDK (currently included from jitpack), you have to clone [vlc-android-sdk](https://github.com/mrmaffen/vlc-android-sdk) and follow [these instructions](https://github.com/mrmaffen/vlc-android-sdk#building-the-libvlc-android-sdk-yourself).

---

**MIT Licensed**