0.3.2 • Published 5 years ago

react-native-media-tools v0.3.2

Weekly downloads
24
License
-
Repository
-
Last release
5 years ago

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

TypeDescription
videoType default. It makes your life easier when creating a video player.
audioMakes 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:

PropertyTypeDescription
togglePausefunctionFunction to toggle vídeo play or pause
toggleMutefunctionFunction to toggle audio mute
reloadfunctionFunction to reload media.
pausedboolTrue: paused / False: played
mutedboolTrue: muted
currentTimeFormattedtextTime formatted in HH:mm:ss
currentTimefloatCurrent media time in seconds
durationfloatMedia duration time in seconds
toggleFullscreenfunctionFunction to toggle fullscreen mode
fulscreenboolTrue: 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>
)
0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.1

5 years ago