import MediaElementWebAudio from 'wavesurfer.js/src/mediaelement-webaudio.js'
MediaElementWebAudio
Extends:
MediaElementWebAudio backend: load audio via an HTML5 audio tag, but playback with the WebAudio API. The advantage here is that the html5 <audio> tag can perform range requests on the server and not buffer the entire file in one request, and you still get the filtering and scripting functionality of the webaudio API. Note that in order to use range requests and prevent buffering, you must provide peak data.
Constructor Summary
Public Constructor | ||
public |
constructor(params: WavesurferParams) Construct the backend |
Method Summary
Public Methods | ||
public |
createMediaElementSource(mediaElement: HTMLMediaElement) Create MediaElementSource node |
since 3.2.0 |
public |
destroy() This is called when wavesurfer is destroyed |
|
public |
init() Initialise the backend, called in |
|
public |
play(start: *, end: *): * |
Inherited Summary
From class WebAudio | ||
public |
ac: * ac: Audio Context instance |
|
public |
analyser: * analyser: provides audio analysis information |
|
public |
audioContext: * audioContext: allows to process audio with WebAudio API |
|
public |
Boolean indicating if the backend was destroyed. |
|
public |
gainNode: * gainNode: allows to control audio volume |
|
public |
scriptNode: * scriptNode: allows processing audio |
|
public |
Create analyser node to perform audio analysis |
|
public |
Create ScriptProcessorNode to process audio |
|
public |
Create the gain node needed to control the playback volume. |
|
public |
destroy() This is called when wavesurfer is destroyed |
|
public |
Destroy all references with WebAudio, disconnecting audio nodes and closing Audio Context |
|
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 |
|
public |
getOfflineAudioContext(sampleRate: number): OfflineAudioContext Get the offline audio context used by this backend or create one |
|
public |
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 |
|
public |
Used by |
|
public |
Loaded a decoded audio buffer |
|
public |
pause() Pauses the loaded audio. |
|
public |
Plays the loaded audio region. |
|
public |
Used by |
|
public |
Unpacked |
|
public |
setFilters(filters: AudioNode[]) Insert custom Web Audio nodes into the graph |
|
public |
Set the rendered length (different from the length of the audio) |
|
public |
Set pre-decoded peaks |
|
public |
setPlayEnd(end: number) Set a point in seconds for playback to stop at. |
version 3.3.0 |
public |
setPlaybackRate(value: number) Set the audio source playback rate. |
|
public |
Set the sink id for the media player |
|
public |
Set the audio volume |
|
public |
Does the browser support this backend |
From class MediaElement | ||
public |
|
|
public |
Create a timer to provide a more precise |
|
public |
destroy() This is called when wavesurfer is destroyed |
|
public |
Returns the current time in seconds relative to the audio-clip's duration. |
|
public |
Used by |
|
public |
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 |
|
public |
Used by |
|
public |
Create media element with url as its source, and append to container element. |
|
public |
Load existing media element. |
|
public |
Pauses the loaded audio. |
|
public |
Plays the loaded audio region. |
|
public |
Used by |
|
public |
Enable or disable muted audio |
since 4.0.0 |
public |
setPlayEnd(end: number) Set the play end |
|
public |
setPlaybackRate(value: number) Set the audio source playback rate. |
|
public |
Set the sink id for the media player |
|
public |
Set the audio volume |
Public Constructors
public constructor(params: WavesurferParams) source
Construct the backend
Override:
MediaElement#constructorParams:
Name | Type | Attribute | Description |
params | WavesurferParams | Wavesurfer parameters |
Public Methods
public createMediaElementSource(mediaElement: HTMLMediaElement) since 3.2.0 source
Create MediaElementSource node
Params:
Name | Type | Attribute | Description |
mediaElement | HTMLMediaElement | HTML5 Audio to load |
public init() source
Initialise the backend, called in wavesurfer.createBackend()
Override:
MediaElement#initpublic play(start: *, end: *): * source
Plays the loaded audio region.
Override:
MediaElement#playParams:
Name | Type | Attribute | Description |
start | * | ||
end | * |
Return:
* |