Namespace: Player

Player

Class reprensenting a Player
Source:

Example

const player = new Player()

Members

(static) EventTypes :Object

Return event types
Type:
  • Object
Source:
Example
const EventTypes = Player.EventTypes

{
      LOG: 'log',
      ERROR: 'error',
      READY: 'ready',
      PLAY: 'play',
      REPLAY: 'replay',
      PAUSE: 'pause',
      STOP: 'pause',
      NEXT: 'next',
      PREVIOUS: 'previous',
      RANDOM: 'random',
      REPEAT: 'repeat',
      PLAYBACK_RATE: 'playbackRate',
      VOLUME: 'volume',
      MAX_VOLUME: 'maxVolume',
      MUTED: 'muted',
      ENDED: 'ended',
      ENQUEUE: 'enqueue',
      DEQUE: 'deque',
      EMPTY_QUEUE: 'emptyQueue',
      STATE_CHANGE: 'stateChange'
}

Methods

deque() → {Promise}

Deques an audio source from queue
Source:
Returns:
Type
Promise
Example
player.deque()

emptyQueue() → {Promise}

Empties queue
Source:
Returns:
Type
Promise
Example
player.emptyQueue()

enqueue(source) → {Promise}

Enqueues an audio source to play
Parameters:
Name Type Description
source DataView | Uint8Array | AudioBuffer | ArrayBuffer | String an audio source to play
Source:
Returns:
Type
Promise
Examples
const url = 'https://example.com/audio.mp3'

player.enqueue(url)
player.enqueue(audioBuffer)
player.enqueue(arrayBuffer)
player.enqueue(blob)

getAudioDataFromUrl(url) → {Promise}

Get the binary audio data from an audio source url in ArrayBuffer form
Parameters:
Name Type Description
url String audio source url
Source:
Returns:
arrayBuffer
Type
Promise
Example
const url = 'https://example.com/audio.mp3'

player.getAudioDataFromUrl()
.then(arrayBuffer => {

})

getCurrentAudioBuffer() → {AudioBuffer}

Return current audio buffer playing
Source:
Returns:
Type
AudioBuffer
Example
player.getCurrentAudioBuffer()

getCurrentTime() → {Number}

Return elapsed time in seconds since the audio source started playing
Source:
Returns:
time - current time
Type
Number
Example
player.getCurrentTime()

getCurrentUrl() → {String}

Get currently playing audio source url
Source:
Returns:
Type
String
Example
const url = player.getCurrentUrl()

getDuration() → {Number}

Get duration of audio source
Source:
Returns:
duration - duration of audio source
Type
Number
Example
player.getDuration()

getMaxVolume() → {Number}

Get max volume value
Source:
Returns:
maxVolume - max volume value
Type
Number
Example
player.getMaxVolume()

getPlaybackRate() → {Number}

Get the current plaback rate speed
Source:
Returns:
playback rate speed
Type
Number
Example
const playbackRate = player.getPlaybackRate()

getVolume() → {Number}

Get current volume value
Source:
Returns:
volume - current volume value
Type
Number
Example
player.getVolume()

hasNext() → {Boolean}

Return true if there's an audio source to play next in queue
Source:
Returns:
hasNext
Type
Boolean
Example
const hasNext = player.hasNext()

hasPrevious() → {Boolean}

Return true if there's a previous audio source in queue
Source:
Returns:
hasPrevious
Type
Boolean
Example
const hasPrevious = player.hasPrevious()

next() → {Promise}

Play next audio source in queue
Source:
Returns:
Type
Promise
Example
player.next()

on(eventName, callback)

Listen for player events
Parameters:
Name Type Description
eventName String name of even
callback function called when the event occurs
Source:
Examples
player.on(Player.EventTypes.PLAY, () => {

})
player.on(Player.EventTypes.PLAYBACK_RATE, () => {

})

pause() → {Promise}

Pause playing current audio source
Source:
Returns:
Type
Promise
Example
player.pause()

play() → {Promise}

Plays current audio source in queue
Source:
Returns:
Type
Promise
Example
player.play()

playAudioBuffer(audioBuffer) → {Promise}

Play an AudioBuffer
Parameters:
Name Type Description
audioBuffer AudioBuffer an AudioBuffer
Source:
Returns:
Type
Promise
Example
player.playAudioBuffer(audioBuffer)

playBlob(blob) → {Promise}

Play an audio Blob
Parameters:
Name Type Description
blob Blob audio blob
Source:
Returns:
Type
Promise
Example
const blob = new Blob([dataView], {
  type: 'audio/wav'
})

player.playBlob(blob)

playQueue() → {Promise}

Start playing audio sources in queue
Source:
Returns:
Type
Promise
Example
player.playQueue()

playUrl(url) → {Promise}

Play an MP3 url
Parameters:
Name Type Description
url String MP3 url
Source:
Returns:
Type
Promise
Example
const url = 'https://example.com/audio.mp3'

player.playUrl(url)

previous() → {Promise}

Play previous audio source in queue
Source:
Returns:
Type
Promise
Example
player.previous()

replay() → {Promise}

Replay current audio source
Source:
Returns:
Type
Promise
Example
player.replay()

seekTo(seconds) → {Promise}

Seek to a specified time in audio source
Parameters:
Name Type Description
seconds Number number of seconds to seek to
Source:
Returns:
Type
Promise
Example
const seconds = 45

player.seekTo(seconds)

setMaxVolume(maxVolume) → {Promise}

Set the maximum volume limit. For example if max volume is set to 0.6, then when volume is scaled from 0-0.6, meaning that volume level at 1 will play at 0.6
Parameters:
Name Type Description
maxVolume Number max volume, range 0-1
Source:
Returns:
Type
Promise
Example
player.setMaxVolume(0.8)

setMuted(enabled) → {Promise}

Set volume level to muted
Parameters:
Name Type Description
enabled Boolean boolean to enable mute
Source:
Returns:
Type
Promise
Example
player.setMuted(true)

setPlaybackRate(playbackRate) → {Promise}

Set the plaback rate speed, range 0.75-2
Parameters:
Name Type Description
playbackRate Number new playback rate
Source:
Returns:
Type
Promise
Example
player.setPlaybackRate(2)

setRandom(enabled) → {Promise}

Enable to disable random playback
Parameters:
Name Type Description
enabled Boolean boolean to enable random playback
Source:
Returns:
Type
Promise
Example
player.setRandom(true)

setRepeat(enabled) → {Promise}

Enable to disable repeat mode. Repeat mode replays the audio sources once the entire queue has finished playing.
Parameters:
Name Type Description
enabled Boolean boolean to enable repeat mode
Source:
Returns:
Type
Promise
Example
player.setRepeat(true)

setVolume(volume) → {Promise}

Set volume, range 0-1
Parameters:
Name Type Description
volume Number volume value
Source:
Returns:
Type
Promise
Example
player.setVolume(0.9)

stop() → {Promise}

Stop playing current audio source
Source:
Returns:
Type
Promise
Example
player.stop()