2.0.2 • Published 4 years ago

@freakycoder/react-native-media-controls v2.0.2

Weekly downloads
61
License
MIT
Repository
github
Last release
4 years ago

Battle Tested ✅

A sweet UI component to manipulate your media

npm version npm expo-compatible Platform - Android and iOS License: MIT

This is an original fork of React Native Media Controls (Not actively maintained)

mediac

Installation

npm i @freakycoder/react-native-media-controls

Usage

You can check the example for a fully working example

// Require the module
import MediaControls, { PLAYER_STATES } from 'react-native-media-controls';

  render() {
    return (
      <View style={styles.container}>
        <Video
          volume={0.0}
          resizeMode="cover"
          onEnd={this.onEnd}
          onLoad={this.onLoad}
          paused={this.state.paused}
          style={styles.mediaPlayer}
          onProgress={this.onProgress}
          onLoadStart={this.onLoadStart}
          ref={videoPlayer => (this.videoPlayer = videoPlayer)}
          source={{ uri: 'https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4' }}
        />
        <MediaControls
          mainColor="orange"
          onSeek={this.onSeek}
          onReplay={this.onReplay}
          onPaused={this.onPaused}
          onSeeking={this.onSeeking}
          duration={this.state.duration}
          toolbar={this.renderToolbar()}
          isLoading={this.state.isLoading}
          onFullScreen={this.onFullScreen}
          progress={this.state.currentTime}
          playerState={this.state.playerState}
        />
      </View>
    );
  }

Props

PropTypeOptionalDefaultDescription
toolbarnodeYesAdd a custom view on the top of the controls
mainColorstringYesrgba(12, 83, 175, 0.9)Change custom color to the media controls
isLoadingboolYesfalseWhen is loading
isFullScreenboolYesfalseTo change icon state of fullscreen
progressnumberNoCurrent time of the media player
durationnumberNoTotal duration of the media
playerStatenumberNoCould be PLAYING, PAUSED or ENDED (take a look at constants section)
onFullScreenfunctionYesTriggered when the fullscreen button is pressed
onPausedfunctionNoTriggered when the play/pause button is pressed. It returns the new toggled value (PLAYING or PAUSED)
onReplayfunctionYesTriggered when the replay button is pressed
onSeekfunctionNoTriggered when the user released the slider
onSeekingfunctionYesTriggered when the user is interacting with the slider

Constants

  PLAYING,
  PAUSED,
  ENDED,

Future Plans

  • Refactoring (Coming Soon!)
  • Better README (Coming Soon!)
  • Better Example (Coming Soon!)
  • More Customizable Options
  • Typescript Challenge!

License

React Native Media Controls Library is available under the MIT license. See the LICENSE file for more info.