react-native-media-tools

0.3.2 • Public • Published

react-native-media-tools

It's a lib to facilitate the construction of a media player for react-native with react-native-video

Getting started

Install react-native-video

$ yarn add react-native-media-tools

Usage

import MediaPlayer from 'react-native-media-tools';
 
const App = () => (
    <MediaPlayer
        source={your_amazing_media}
        width={320}
        height={200}
    />
)

Props

This lib supports almost all react-native-video props, because some are used internally by media players.
Unsupported props: controls, muted, paused

type

Defines what type of media player will be rendered. Default: video

Type Description
video Type default. It makes your life easier when creating a video player.
audio Makes your life easier when creating an audio player

Component Props

errorScreenComponent

Allows you to replace the error screen. List of props received on component:

Property Type Description
reload function Function to reload media.

Example of a valid component:

export default ErrorScreen = ({reload}) => (
    <View>
        <Text>
            ERROR TRYING TO PLAY THE MEDIA
        </Text>
        <TouchableOpacity 
            onPress={reload}
        >
            <Text>
                Reload
            </Text>
        </TouchableOpacity>
    </View>
)

initialPlayComponent

Allows you to replace the home screen with the play button. List of props received on component:

Property Type Description
togglePause function Function to toggle vídeo play or pause;
export default InitialPlay = ({togglePause}) => (
    <View>
        <TouchableOpacity 
            onPress={togglePause}
        >
            <Text>
                Play
            </Text>
        </TouchableOpacity>
    </View>
)

loadingComponent

Allows you to replace the loading screen. This component does not receive any props.

export default Loading = () => (
    <View>
        <ActivityIndicator size='large'/>
    </View>
)

controlBarComponent

Allows you to replace the control bar of media player. List of props received on component:

Property Type Description
togglePause function Function to toggle vídeo play or pause
toggleMute function Function to toggle audio mute
reload function Function to reload media.
paused bool True: paused / False: played
muted bool True: muted
currentTimeFormatted text Time formatted in HH:mm:ss
currentTime float Current media time in seconds
duration float Media duration time in seconds
toggleFullscreen function Function to toggle fullscreen mode
fulscreen bool True: player in fullscreen / false: normal mode
export default ControlBar = ({
    togglePause, 
    toggleMute, 
    reload, 
    paused, 
    muted, 
    currentTimeFormatted
}) => (
    <View>
        <TouchableOpacity
            onPress={togglePause}
        >
            <Text style={styles.icon}>
                {paused ? 'play' : 'pause'}
            </Text>
        </TouchableOpacity>
        <Text>
            {currentTimeFormatted}
        </Text>
        <TouchableOpacity
            onPress={toggleFullScreen}
        >
                {fullscreen ? 'exit_fullscreen' : 'enter_fullscreen'}
        </TouchableOpacity>
    </View>
)

Readme

Keywords

Package Sidebar

Install

npm i react-native-media-tools

Weekly Downloads

0

Version

0.3.2

License

none

Unpacked Size

50.9 kB

Total Files

26

Last publish

Collaborators

  • itsmicaio