Home Reference Source
import MediaElement from 'wavesurfer.js/src/mediaelement.js'
public class | source

MediaElement

Extends:

ObserverWebAudio → MediaElement

MediaElement backend

Constructor Summary

Public Constructor
public

Construct the backend

Method Summary

Public Methods
public

This is called when wavesurfer is destroyed

public

Returns the current time in seconds relative to the audio-clip's duration.

public

Used by wavesurfer.getDuration()

public

getPeaks(length: number, first: number, last: number): number[] | number[][]

Compute the max and min value of the waveform when broken into

<length> subranges.

public

Get the audio source playback rate.

public

Get the position from 0 to 1

public

Get the current volume

public

init()

Initialise the backend, called in wavesurfer.createBackend()

public

Used by wavesurfer.isPlaying() and wavesurfer.playPause()

public

load(url: string, container: HTMLElement, peaks: number[] | number[][], preload: string)

Create media element with url as its source, and append to container element.

public

loadElt(elt: HTMLMediaElement, peaks: number[] | number[][])

Load existing media element.

public

Pauses the loaded audio.

public

play(start: number, end: number): Promise

Plays the loaded audio region.

public

seekTo(start: number)

Used by wavesurfer.seekTo()

public

Set the audio source playback rate.

public

setSinkId(deviceId: string): *

Set the sink id for the media player

public

setVolume(value: number)

Set the audio volume

Inherited Summary

From class Observer
public

fireEvent(event: string, args: ...any)

Manually fire an event

public

Attach a handler function for an event.

public

once(event: string, handler: function): ListenerDescriptor

Attach a handler to an event.

public

un(event: string, fn: function)

Remove an event handler.

public

unAll()

Remove all event handlers.

From class WebAudio
public

This is called when wavesurfer is destroyed

public

getAudioContext(): AudioContext

Get the audio context used by this backend or create one

public

Returns the current time in seconds relative to the audio-clip's duration.

public

Used by wavesurfer.getDuration()

public

Get the offline audio context used by this backend or create one

public

getPeaks(length: number, first: number, last: number): number[] | number[][]

Compute the max and min value of the waveform when broken into <length> subranges.

public

Returns the current playback rate.

public

Get the position from 0 to 1

public

Get the playback position in seconds

public

Get the current volume

public

init()

Initialise the backend, called in wavesurfer.createBackend()

public

Used by wavesurfer.isPlaying() and wavesurfer.playPause()

public

load(buffer: Object)

Loaded a decoded audio buffer

public

pause()

Pauses the loaded audio.

public

play(start: number, end: number)

Plays the loaded audio region.

public

seekTo(start: number, end: number): {start: number, end: number}

Used by wavesurfer.seekTo()

public

setFilter(filters: ...AudioNode)

Unpacked setFilters()

public

setFilters(filters: AudioNode[])

Insert custom Web Audio nodes into the graph

public

setLength(length: number)

Set the rendered length (different from the length of the audio).

public

setPeaks(peaks: number[] | number[][], duration: number)

Set pre-decoded peaks

public

Set the audio source playback rate.

public

setSinkId(deviceId: string): *

Set the sink id for the media player

public

setVolume(value: number)

Set the audio volume

public

Does the browser support this backend

Public Constructors

public constructor(params: WavesurferParams) source

Construct the backend

Override:

WebAudio#constructor

Params:

NameTypeAttributeDescription
params WavesurferParams

Public Methods

public destroy() source

This is called when wavesurfer is destroyed

Override:

WebAudio#destroy

public getCurrentTime(): number source

Returns the current time in seconds relative to the audio-clip's duration.

Override:

WebAudio#getCurrentTime

Return:

number

public getDuration(): number source

Used by wavesurfer.getDuration()

Override:

WebAudio#getDuration

Return:

number

public getPeaks(length: number, first: number, last: number): number[] | number[][] source

Compute the max and min value of the waveform when broken into

<length> subranges.

Override:

WebAudio#getPeaks

Params:

NameTypeAttributeDescription
length number

How many subranges to break the waveform into.

first number

First sample in the required range.

last number

Last sample in the required range.

Return:

number[] | number[][]

Array of 2*<length> peaks or array of arrays of peaks consisting of (max, min) values for each subrange.

public getPlaybackRate(): number source

Get the audio source playback rate.

Override:

WebAudio#getPlaybackRate

Return:

number

public getPlayedPercents(): number source

Get the position from 0 to 1

Override:

WebAudio#getPlayedPercents

Return:

number

public getVolume(): number source

Get the current volume

Override:

WebAudio#getVolume

Return:

number

value A floating point value between 0 and 1.

public init() source

Initialise the backend, called in wavesurfer.createBackend()

Override:

WebAudio#init

public isPaused(): boolean source

Used by wavesurfer.isPlaying() and wavesurfer.playPause()

Override:

WebAudio#isPaused

Return:

boolean

public load(url: string, container: HTMLElement, peaks: number[] | number[][], preload: string) source

Create media element with url as its source, and append to container element.

Override:

WebAudio#load

Params:

NameTypeAttributeDescription
url string

Path to media file

container HTMLElement

HTML element

peaks number[] | number[][]

Array of peak data

preload string

HTML 5 preload attribute value

public loadElt(elt: HTMLMediaElement, peaks: number[] | number[][]) source

Load existing media element.

Params:

NameTypeAttributeDescription
elt HTMLMediaElement

HTML5 Audio or Video element

peaks number[] | number[][]

Array of peak data

public pause(): Promise source

Pauses the loaded audio.

Override:

WebAudio#pause

Return:

Promise

Emit:

*

MediaElement#pause

public play(start: number, end: number): Promise source

Plays the loaded audio region.

Override:

WebAudio#play

Params:

NameTypeAttributeDescription
start number

Start offset in seconds, relative to the beginning of a clip.

end number

When to stop, relative to the beginning of a clip.

Return:

Promise

Emit:

*

MediaElement#play

public seekTo(start: number) source

Used by wavesurfer.seekTo()

Override:

WebAudio#seekTo

Params:

NameTypeAttributeDescription
start number

Position to start at in seconds

public setPlaybackRate(value: number) source

Set the audio source playback rate.

Override:

WebAudio#setPlaybackRate

Params:

NameTypeAttributeDescription
value number

public setSinkId(deviceId: string): * source

Set the sink id for the media player

Override:

WebAudio#setSinkId

Params:

NameTypeAttributeDescription
deviceId string

String value representing audio device id.

Return:

*

public setVolume(value: number) source

Set the audio volume

Override:

WebAudio#setVolume

Params:

NameTypeAttributeDescription
value number

A floating point value between 0 and 1.