Coder Social home page Coder Social logo

react-audio-player's Introduction

React Audio Player

This is a light React wrapper around the HTML5 audio tag. It provides the ability to manipulate the player and listen to events through a nice React interface.

Installation

npm install --save react-audio-player

Usage

import ReactAudioPlayer from 'react-audio-player';
//...
<ReactAudioPlayer
  src="my_audio_file.ogg"
  autoPlay
  controls
/>

Example

See the example directory for a basic working example of using this. You can run it with the command npm run example.

Props

Props - Native/React Attributes

See the audio tag documentation for detailed explanations of these attributes.

autoPlay {Bool} [false]

children {Element} [null]

className {String} ['']

controls {Bool} [false]

loop {Bool} [false]

muted {Bool} [false]

preload {String} ['metadata']

src {String} ['']

style {Object} [{}]

Props - Events

listenInterval {Number} [10000]

Indicates how often to call the onListened prop during playback, in milliseconds.

onAbort {Function}

Called when unloading the audio player, like when switching to a different src file. Passed the event.

onCanPlay {Function}

Called when enough of the file has been downloaded to be able to start playing. Passed the event.

onCanPlayThrough {Function}

Called when enough of the file has been downloaded to play through the entire file. Passed the event.

onEnded {Function}

Called when playback has finished to the end of the file. Passed the event.

onError {Function}

Called when the audio tag encounters an error. Passed the event.

onListen {Function}

Called every listenInterval milliseconds during playback. Passed the event.

onPause {Function}

Called when the user pauses playback. Passed the event.

onPlay {Function}

Called when the user taps play. Passed the event.

onSeeked {Function}

Called when the user drags the time indicator to a new time. Passed the event.

Advanced Usage

Access to the audio element

You can get direct access to the underlying audio element. First get a ref to ReactAudioPlayer:

<ReactAudioPlayer
  ref={(element) => { this.rap = element; }}
/>

Then you can access the audio element like this:

this.rap.audioEl

This is especially useful if you need access to read-only attributes of the audio tag such as buffered and played. See the audio tag documentation for more on these attributes.

react-audio-player's People

Contributors

justinmc avatar pkosiec avatar clarkie avatar alex-cory avatar joeyfigaro avatar tigeranniemac avatar bjackson avatar clayharris avatar evelan avatar jblok avatar

Watchers

Adam Bellows avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.