1.0.3 • Published 5 months ago

react-wave-audio-player v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

React Wave Audio Player Preview

React Wave Audio Player

A customizable React audio player built with TypeScript, Tailwind CSS, and WaveSurfer.js. This package provides a fully responsive and visually appealing audio player with waveform visualization.

šŸš€ Features

  • šŸŽµ Waveform Visualization using WaveSurfer.js
  • šŸŽØ Customizable Colors & Styles (progress bar, cursor, buttons, etc.)
  • šŸŽšļø Adjustable Volume & Playback Speed
  • āÆ Play/Pause, Mute/Unmute Controls
  • šŸ“„ Audio Download Button
  • ✨ Works with Tailwind CSS for styling

šŸ“¦ Installation

1. Install the package

npm install react-wave-audio-player

2. Install required peer dependencies

Since this package depends on react, react-dom, tailwindcss, wavesurfer.js, and react-icons, ensure they are installed in your project:

npm install react react-dom tailwindcss wavesurfer.js react-icons

3. Configure Tailwind CSS (If not already set up)

If you haven't set up Tailwind CSS, follow the official documentation:

šŸ”— Tailwind CSS Setup: Using Tailwind with Vite


šŸ“– Usage

Basic Example

import React from "react";
import { AudioPlayer } from "react-wave-audio-player";

const App = () => {
  return (
    <div className="p-4">
      <AudioPlayer src="/audio/sample.mp3" />
    </div>
  );
};

export default App;

Customizing the Player

<AudioPlayer
  src="/audio/sample.mp3"
  waveColor="#a3aed0"
  progressColor="#3311db"
  cursorColor="blue"
  buttonsColor="#ff5722"
  barWidth={3}
  barRadius={2}
  barGap={1}
  height={80}
  playIcon={<YourCustomPlayIcon />}
  pauseIcon={<YourCustomPauseIcon />}
  volumeUpIcon={<YourCustomVolumeIcon />}
  volumeMuteIcon={<YourCustomMuteIcon />}
  playbackSpeeds={[0.5, 1, 1.5, 2]}
  onPlay={() => console.log("Playing")}
  onPause={() => console.log("Paused")}
  onVolumeChange={(vol) => console.log("Volume: ", vol)}
/>

šŸŽØ Props & Customization

PropTypeDefaultDescription
srcstringRequiredURL of the audio file
waveColorstring"#a3aed0"Color of waveform
progressColorstring"#3311db"Color of progress bar
cursorColorstring"blue"Color of cursor
buttonsColorstring"#3311db"Color of control buttons
barWidthnumber2Width of waveform bars
barRadiusnumber2Radius of waveform bars
barGapnumber1Gap between waveform bars
heightnumber100Height of the waveform
playIconReactNode<FaPlay />Custom play icon
pauseIconReactNode<FaPause />Custom pause icon
volumeUpIconReactNode<BsFillVolumeUpFill />Custom volume up icon
volumeMuteIconReactNode<BsFillVolumeMuteFill />Custom mute icon
playbackSpeedsnumber[][1, 1.5, 2]Available playback speed options
onPlay() => voidundefinedCallback when audio starts playing
onPause() => voidundefinedCallback when audio pauses
onVolumeChange(volume: number) => voidundefinedCallback when volume changes

šŸ“œ License

This project is licensed under the MIT License.


šŸ¤ Contributing

If you find any issues or want to contribute, feel free to open an issue or submit a pull request on GitHub.

šŸ”— GitHub Repository: react-wave-audio-player


⭐ Support

If you like this package, please give it a ⭐ on GitHub!

Happy coding! šŸš€šŸŽµ

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago