npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-awesome-audio

v1.1.0

Published

Optimized and Supercharged React hook to play audio without any DOM element 💪🎧

Downloads

72

Readme

react-awesome-audio

Optimized and Supercharged React hook to play audio without any DOM element 💪🎧

Find the npm package here

Star the GitHub repo to keep the developer motivated ✨

Installation

  • using npm
npm i react-awesome-audio

or

npm install --save react-awesome-audio
  • using yarn
yarn add react-awesome-audio

Also be sure you have react installed in your app at version 16.8 or above.

Usage

Using audio URL

import { useAudio } from "react-awesome-audio";

const App = () => {
    const { isPlaying, play, pause, toggle } = useAudio({
        src: "https://p.scdn.co/mp3-preview/d09498fe7e41e26b90682c3b5a0819bbcc3378e2",
        loop: true,
    });

    return (
        <div>
            <button onClick={toggle}>{isPlaying ? "Pause" : "Play"}</button>
        </div>
    );
};

export default App;

Using asset audio

import { useAudio } from "react-awesome-audio";
import song from "./assets/song.mp3";

const App = () => {
  const { isPlaying, play, pause, toggle } = useAudio({
    src: song,
    loop: true,
  });

  return (
    <div>
      <button onClick={toggle}>{isPlaying ? "Pause" : "Play"}</button>
    </div>
  );
};

export default App;

Note: To import audio file from assets in TypeScript, you need to use require() instead of ES6 import, see this for more details.

Example

See the example directory for a basic working example of using this project. To run it locally, run npm install in the example directory and then npm start.

Options

| Option | Type | Default | Description | | -------------- | -------- | ---------- | ------------------------------------------------------------------------------------------- | | src | String | required | Audio source | | loop | Boolean | false | Loop the audio | | volume | Number | 1 (max) | Volume of the audio, ranging from 0(min) to 1(max) | | muted | Boolean | false | Mute the audio, Note: if you pass both volume and muted: true, then audio will be muted | | onLoadedData | Function | () => {} | call the function when the audio data has been loaded | | onError | Function | () => {} | call the function when the audio encounters an error | | onEnded | Function | () => {} | call the function when the audio ends |

Bugs and Features

See the issues for a list of proposed features (and known issues). Feel free to raise new issues.

License

Distributed under the MIT License. See LICENSE for more information.

Author

Niloy Sikdar