Visualizes audio input from a microphone in wavesurfer.js instances.
start
, stopDevice
, play
, pause
, stop
and togglePlay
methods
var wavesurfer = WaveSurfer.create({
container : '#waveform',
waveColor : 'black',
interact : false,
cursorWidth : 0,
plugins: [
WaveSurfer.microphone.create()
]
});
wavesurfer.microphone.on('deviceReady', function(stream) {
console.log('Device ready!', stream);
});
wavesurfer.microphone.on('deviceError', function(code) {
console.warn('Device error: ' + code);
});
// start the microphone
wavesurfer.microphone.start();
// pause rendering
//wavesurfer.microphone.pause();
// resume rendering
//wavesurfer.microphone.play();
// stop visualization and disconnect microphone
//wavesurfer.microphone.stopDevice();
// same as stopDevice() but also clears the wavesurfer canvas
//wavesurfer.microphone.stop();
// destroy the plugin
//wavesurfer.microphone.destroy();
Name | Required | Default | Description |
---|---|---|---|
wavesurfer |
yes | A WaveSurfer instance. | |
bufferSize |
no | 4096 | The buffer size in units of sample-frames. If specified, the bufferSize must be one of the following values: 256, 512, 1024, 2048, 4096, 8192, 16384. |
constraints |
no | {audio: true, video: false} |
The constraints parameter is a MediaStreamConstaints object with at least two members: video and audio, describing the media types requested. Either or both must be specified. |
numberOfInputChannels |
no | 1 | Integer specifying the number of channels for this node's input. Values of up to 32 are supported. |
numberOfOutputChannels |
no | 1 | Integer specifying the number of channels for this node's output. Values of up to 32 are supported. |
Name | Description |
---|---|
deviceReady |
Invoked when the device is ready to use. Callback will receive a MediaStream object that contains the microphone stream. |
deviceError |
Invoked when the user doesn't allow the browser to access the microphone. Callback will receive a (string) error code. |