1.0.26 • Published 6 months ago

apm-react-audio-player v1.0.26

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

apm-react-audio-player

This is a light react audio player that is wrapped around a HTML5 audio tag, created for use on American Public Media and Minnesota Public Radio's websites.

The library was designed to add a audio player to a body of a story which will not trigger the static audio player.

Alt text

Table of Contents

Dependencies

Installation

Importing

Usage

License

Dependencies

As of version 1.0.0, this library has no dependencies for usage.

Installation

There are several ways to install APM Player on your site.

NPM

npm install apm-react-audio-player

or to use yarn:

YARN

yarn add apm-react-audio-player

Importing

ES6 Import

The easiest way to include this in modern javascript, assuming you are using something like and Babel, is to use an import statement. The library uses named exports for all modules.

To import the player module:

import { ReactAudioPlayerInner, useAudioPlayer } from 'apm-react-audio-player';

Usage

Props

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

PropTypeDefaultNotes
titleStringempty stringThe title of the audio track
audioSrcStringempty stringThe source URL of the audio file
descriptionStringempty stringThe description of the audio track
audioPlayerRefObjectempty objectA ref object for the audio player
progressBarRefObjectempty objectA ref object for the progress bar
onLoadedMetadataFunction---A function to handle the loadedmetadata event
togglePlayingFunction---A function to toggle the playing state
isPlayingBooleanfalseWhether the audio is currently playing
isMutedBooleanfalseWhether the audio is currently muted
toggleMuteFunction---A function to toggle the mute state
volumeCtrlFunction---A function to control the volume
currentTimeNumbernullThe current time of the audio track
durationNumbernullThe duration of the audio track
rewindControlFunction---A function to rewind the audio track
forwardControlFunction---A function to fast forward the audio track
changePlayerCurrentTimeFunction---A function to change the current time of the audio track
calculateTimeFunction---A function to calculate the time for the audio track
formatCalculateTimeFunction---A function to format the calculated time
playBtnClassStringempty stringThe CSS class for the play button
customStylesObject---Custom styles for the audio player
customHtmlJSX.Element<></>Custom HTML to be rendered inside the player

Example

import { ReactAudioPlayerInner, useAudioPlayer } from 'apm-react-audio-player';

const Example = () => {

  const audioPlayerRef = React.useRef();
  const progressBarRef = React.useRef();

  const {
    onLoadedMetadata,
    calculateTime,
    volumeControl,
    togglePlaying,
    toggleMute,
    isMuted,
    changePlayerCurrentTime,
    play,
    isPlaying,
    isFinishedPlaying,
    currentTime,
    duration,
    formatCalculateTime,
    rewindControl,
    forwardControl
  } = useAudioPlayer(audioPlayerRef, progressBarRef);

    return (
       <ReactAudioPlayerInner
        title={'MPR NEWS'}
        audioSrc={'https://play.publicradio.org/web/o/minnesota/podcasts/art_hounds/2024/06/26/arthounds_art-hounds-franconia_20240626_64.mp3'}
        description={'description'}
        playBtnClass="player-btn player-btn-playpause js-player-play"
        audioPlayerRef={audioPlayerRef}
        progressBarRef={progressBarRef}
           onLoadedMetadata={onLoadedMetadata}
        play={play}
        isPlaying={isPlaying}
        togglePlaying={togglePlaying}
        isMuted={isMuted}
        currentTime={currentTime}
        duration={duration}
        isAudioFinished={isFinishedPlaying}
        toggleMute={toggleMute}
        volumeCtrl={volumeControl}
        changePlayerCurrentTime={changePlayerCurrentTime}
        rewindControl={rewindControl}
        forwardControl={forwardControl}
        calculateTime={calculateTime}
        formatCalculateTime={formatCalculateTime}
        customHtml={<></>}
    />
  )
}

Publishing

  1. Ensure every merge request and/or change to apm-react-audio-player should always come with an updated version (ex. 1.0.17 to 1.0.18) in the package.json.
  2. Once the changes is on Main branch, locally run:
    1. git pull main
    2. yarn run build or npm run build
    3. yarn publish or npm publish

License

MIT © Phanx091

1.0.26

6 months ago

1.0.25

7 months ago

1.0.24

7 months ago

1.0.23

7 months ago

1.0.22

12 months ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.21

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

2 years ago

1.0.0

2 years ago