Audio component from Talk by Teambition.
Demo http://ui.talk.ai/react-lite-audio/
source
: url for audio fileisUnread
: a Boolean, when true, an unread button is renderedduration
: a Number, is Safari, duration is not correct, try this
- Only one piece of audio is playing at one moment.
npm i --save react-lite-audio
Use in Webpack:
require('react-lite-audio').liteAudio
require('react-lite-audio').liteAudioSlim
require 'react-lite-audio/src/style.less'
# icons are from teambition/icon-fonts , volubile-ui
Read src/main.main(compiles with Babel) for details:
npm i
You need a static file server for the HTML files. Personally I suggest using Nginx.
Develop:
gulp html # regenerate index.html
webpack-dev-server --hot # enable live-reloading
Build (Pack and optimize js, reivision js and add entry in index.html
):
gulp build
However there is a significant anomaly here in Opera, Safari and IE10, which is that the .paused flag remains false when the media has ended. You can see the problem here
Fixed by firing the pause() method and setting currentTime at 0 manually, in response to the "ended" event [here]:http://www.sitepoint.com/essential-audio-and-video-events-for-html5/
MIT