File tree Expand file tree Collapse file tree 2 files changed +10
-19
lines changed Expand file tree Collapse file tree 2 files changed +10
-19
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -22,8 +22,10 @@ var L16 = require('./webaudio-l16-stream.js');
22
22
var FormatStream = require ( './format-stream.js' ) ;
23
23
var assign = require ( 'object.assign/polyfill' ) ( ) ;
24
24
var WritableElementStream = require ( './writable-element-stream' ) ;
25
+ var Readable = require ( 'stream' ) . Readable ;
25
26
26
27
var preservedMicStream ;
28
+ var bitBucket = new Readable ;
27
29
28
30
/**
29
31
* @module watson-speech/speech-to-text/recognize-microphone
@@ -62,6 +64,7 @@ module.exports = function recognizeMicrophone(options) {
62
64
var keepMic = options . keepMicrophone ;
63
65
var getMicStream ;
64
66
if ( keepMic && preservedMicStream ) {
67
+ preservedMicStream . unpipe ( bitBucket ) ;
65
68
getMicStream = Promise . resolve ( preservedMicStream ) ;
66
69
} else {
67
70
getMicStream = getUserMedia ( { video : false , audio : true } ) . then ( function ( mic ) {
@@ -85,6 +88,7 @@ module.exports = function recognizeMicrophone(options) {
85
88
86
89
function end ( ) {
87
90
micStream . unpipe ( l16Stream ) ;
91
+ micStream . pipe ( bitBucket ) ; // otherwise it will buffer the audio from in between calls and prepend it to the next one
88
92
l16Stream . end ( ) ;
89
93
}
90
94
// trigger on both stop and end events:
You can’t perform that action at this time.
0 commit comments