Skip to content

Library for working with HTML Audio.

License

Notifications You must be signed in to change notification settings

VerZsuT/AudioJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AudioJS

Library for working with HTML Audio.

Full ts support.

Installation

npm i vzt-audio

Example

Create a queue:

import { AudioJS } from 'vzt-audio'

const audiojs = new AudioJS(['URL1', 'URL2'])

// OR
const audiojs = new AudioJS([
  { src: 'URL1', name: 'First track' },
  { src: 'URL2', name: 'Second track' }
])

// OR
const audiojs = new AudioJS({
  queue: [
    { src: 'URL1', name: 'First track' },
    { src: 'URL2', name: 'Second track' }
  ],
  startIndex: 1,
  autoplay: true,
  loopQueue: true
  // ...
})

Play a track:

audiojs.play() // play current track
audiojs.play(1) // play track with index 1

To automatically start the next track, set autoplay=true:

audiojs.autoplay = true

// OR
const audiojs = new AudioJS({
  autoplay: true
  // ...
})

Events handling:

const audiojs = new AudioJS({
  // ...
  onQueueEnd(event) {
    console.log('Queue was ended')
    audiojs.queue = ['URL4', 'URL5']
    audiojs.play()
    // event.audiojs.play()
  },
  onTrackChange(event) {
    console.log(event.track.name)
  }
  // on<event_name>
})

// OR
audiojs.on('trackLoad', event => console.log(`Track ${event.track.name} was loaded`))
audiojs.once('queueEnd', console.log('once queueEnd'))

Available events:

  • queueEnd
  • trackLoad
  • trackChange
  • trackPlay
  • trackPause
  • trackStop
  • trackEnd
  • changeTime