1.0.3 • Published 4 years ago

react-wavy-audio v1.0.3

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

React Wavy Audio

React player library to display audio with waveform

This package uses wavesurfer.js under the hood and provides an easier way to use it in react applications. It is a wrapper for wavesurfer.js, you can use it is a reference or use it directly in your react apps.

It covers basic features, but if you want something else supported, please feel free to open an issue, and contribute. 😄

If you find any issues, please do let me know and we can fix it as soon as possible :)

Install

npm install --save react-wavy-audio

Usage

Check Example Folder for a basic example

Example folder deployed on Github actions -> https://kartik-budhiraja.github.io/react-wavy-audio/

CodeSandbox -> https://codesandbox.io/s/react-wavy-audio-example-d6hin

Props

PropsTypeDefaultDescription
playBackSpeedOptionsArray0.5, 1, 1.2, 1.5, 2Array of valid playback speed options for the audio
hideWaveboolfalseHide the wave formation
waveStylesobject{ responsive: true }The list of paramterers which can be found here to change default settings and style of the waveplayer
waveJsonJsonN/AYou can use the (audiowaveform)https://github.com/bbc/audiowaveform to generate the waveform data on server and pass it through this props to the player. This recommended for bigger audio files where waveform generation could take some time or even not load on its own.
audioUrlurlN/AThe url to load audio from
zoomnumber0Widens the waveform in display, Try it out in example
imageUrlurlN/AThe image to be shown right next to the player. It is not required
eventsJsonN/AYou can pass a json object with events available here . Use wavesurfer for manipulation. Only on events supported for now. Example: {'pause' : () => { wavesurfer.params.container.style.opacity = 0.9} }
hideImageboolfalseTo hide the image if imageUrl is present
containerStylesStyle objectCheck BelowStyles for the container of player
                    {
                        display: "flex",
                        flexDirection: "row",
                        maxWidth: "50vh",
                        marginLeft: "auto",
                        marginRight: "auto"
                    }

Methods

The list of wavesurfer.js supported methods can be find (here)http://wavesurfer-js.org/docs/methods.html. Use getWaveSurferInstance to get the instance reference and call the methods according to your requirements. :)

License

MIT © kartik-budhiraja

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago