new StereoAudioRecorder(mediaStream, config)
JavaScript standalone object for stereo audio recording.
StereoAudioRecorder is a standalone class used by RecordRTC to bring "stereo" audio-recording in chrome.
Parameters:
Name | Type | Description |
---|---|---|
mediaStream |
MediaStream | MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API. |
config |
object | {sampleRate: 44100, bufferSize: 4096, numberOfAudioChannels: 1, etc.} |
- License:
- Source:
- See:
Example
var recorder = new StereoAudioRecorder(MediaStream, {
sampleRate: 44100,
bufferSize: 4096
});
recorder.record();
recorder.stop(function(blob) {
video.src = URL.createObjectURL(blob);
});
Members
(static) bufferSize
From the spec: This value controls how frequently the audioprocess event is dispatched and how many sample-frames need to be processed each call. Lower values for buffer size will result in a lower (better) latency. Higher values will be necessary to avoid audio breakup and glitches The size of the buffer (in sample-frames) which needs to be processed each time onprocessaudio is called. Legal values are (256, 512, 1024, 2048, 4096, 8192, 16384).
Properties:
Name | Type | Description |
---|---|---|
bufferSize |
number | Buffer-size for how frequently the audioprocess event is dispatched. |
- Source:
Example
recorder = new StereoAudioRecorder(mediaStream, {
bufferSize: 4096
});
(static) bufferSize
From the spec: This value controls how frequently the audioprocess event is dispatched and how many sample-frames need to be processed each call. Lower values for buffer size will result in a lower (better) latency. Higher values will be necessary to avoid audio breakup and glitches The size of the buffer (in sample-frames) which needs to be processed each time onprocessaudio is called. Legal values are (256, 512, 1024, 2048, 4096, 8192, 16384).
Properties:
Name | Type | Description |
---|---|---|
bufferSize |
number | Buffer-size for how frequently the audioprocess event is dispatched. |
- Source:
Example
recorder = new StereoAudioRecorder(mediaStream, {
bufferSize: 4096
});
(static) sampleRate
The sample rate (in sample-frames per second) at which the AudioContext handles audio. It is assumed that all AudioNodes in the context run at this rate. In making this assumption, sample-rate converters or "varispeed" processors are not supported in real-time processing. The sampleRate parameter describes the sample-rate of the linear PCM audio data in the buffer in sample-frames per second. An implementation must support sample-rates in at least the range 22050 to 96000.
Properties:
Name | Type | Description |
---|---|---|
sampleRate |
number | Buffer-size for how frequently the audioprocess event is dispatched. |
- Source:
Example
recorder = new StereoAudioRecorder(mediaStream, {
sampleRate: 44100
});
(static) sampleRate
The sample rate (in sample-frames per second) at which the AudioContext handles audio. It is assumed that all AudioNodes in the context run at this rate. In making this assumption, sample-rate converters or "varispeed" processors are not supported in real-time processing. The sampleRate parameter describes the sample-rate of the linear PCM audio data in the buffer in sample-frames per second. An implementation must support sample-rates in at least the range 22050 to 96000.
Properties:
Name | Type | Description |
---|---|---|
sampleRate |
number | Buffer-size for how frequently the audioprocess event is dispatched. |
- Source:
Example
recorder = new StereoAudioRecorder(mediaStream, {
sampleRate: 44100
});
(static) self.blob
Properties:
Name | Type | Description |
---|---|---|
blob |
Blob | The recorded blob object. |
- Source:
Example
recorder.stop(function(){
var blob = recorder.blob;
});
(static) self.blob
Properties:
Name | Type | Description |
---|---|---|
blob |
Blob | The recorded blob object. |
- Source:
Example
recorder.stop(function(){
var blob = recorder.blob;
});
(static) self.buffer
Properties:
Name | Type | Description |
---|---|---|
buffer |
ArrayBuffer | The recorded buffer object. |
- Source:
Example
recorder.stop(function(){
var buffer = recorder.buffer;
});
(static) self.buffer
Properties:
Name | Type | Description |
---|---|---|
buffer |
ArrayBuffer | The recorded buffer object. |
- Source:
Example
recorder.stop(function(){
var buffer = recorder.buffer;
});
(static) self.view
Properties:
Name | Type | Description |
---|---|---|
view |
DataView | The recorded data-view object. |
- Source:
Example
recorder.stop(function(){
var view = recorder.view;
});
(static) self.view
Properties:
Name | Type | Description |
---|---|---|
view |
DataView | The recorded data-view object. |
- Source:
Example
recorder.stop(function(){
var view = recorder.view;
});
desiredSampRate
Set sample rates such as 8K or 16K. Reference: http://stackoverflow.com/a/28977136/552182
Properties:
Name | Type | Description |
---|---|---|
desiredSampRate |
number | Desired Bits per sample * 1000 |
- Source:
Example
var recorder = StereoAudioRecorder(mediaStream, {
desiredSampRate: 16 * 1000 // bits-per-sample * 1000
});
desiredSampRate
Set sample rates such as 8K or 16K. Reference: http://stackoverflow.com/a/28977136/552182
Properties:
Name | Type | Description |
---|---|---|
desiredSampRate |
number | Desired Bits per sample * 1000 |
- Source:
Example
var recorder = StereoAudioRecorder(mediaStream, {
desiredSampRate: 16 * 1000 // bits-per-sample * 1000
});
Methods
(static) this.clearRecordedData()
This method resets currently recorded data.
- Source:
Example
recorder.clearRecordedData();
(static) this.clearRecordedData()
This method resets currently recorded data.
- Source:
Example
recorder.clearRecordedData();
(static) this.pause()
This method pauses the recording process.
- Source:
Example
recorder.pause();
(static) this.pause()
This method pauses the recording process.
- Source:
Example
recorder.pause();
(static) this.record()
This method records MediaStream.
- Source:
Example
recorder.record();
(static) this.record()
This method records MediaStream.
- Source:
Example
recorder.record();
(static) this.resume()
This method resumes the recording process.
- Source:
Example
recorder.resume();
(static) this.resume()
This method resumes the recording process.
- Source:
Example
recorder.resume();
(static) this.stop(callback)
This method stops recording MediaStream.
Parameters:
Name | Type | Description |
---|---|---|
callback |
function | Callback function, that is used to pass recorded blob back to the callee. |
- Source:
Example
recorder.stop(function(blob) {
video.src = URL.createObjectURL(blob);
});
(static) this.stop(callback)
This method stops recording MediaStream.
Parameters:
Name | Type | Description |
---|---|---|
callback |
function | Callback function, that is used to pass recorded blob back to the callee. |
- Source:
Example
recorder.stop(function(blob) {
video.src = URL.createObjectURL(blob);
});
(static) {function} onAudioProcessStarted()
This method is called on "onaudioprocess" event's first invocation.
- Source:
Example
recorder.onAudioProcessStarted: function() { };
(static) {function} onAudioProcessStarted()
This method is called on "onaudioprocess" event's first invocation.
- Source:
Example
recorder.onAudioProcessStarted: function() { };