@@ -202,55 +202,47 @@ var LibraryHTML5Audio = {
202202 } ,
203203
204204 html5audio_stream_create : function ( bufferSize , inputChannels , outputChannels , inbuffer , outbuffer , callback , userData ) {
205- var stream = AUDIO . context . createScriptProcessor ( bufferSize , inputChannels , outputChannels ) ;
206- var inbufferArray = Module . HEAPF32 . subarray ( inbuffer >> 2 , ( inbuffer >> 2 ) + bufferSize * inputChannels ) ;
207- var outbufferArray = Module . HEAPF32 . subarray ( outbuffer >> 2 , ( outbuffer >> 2 ) + bufferSize * outputChannels ) ;
208-
209- stream . onaudioprocess = function ( event ) {
210- var i , j , c ;
211- if ( inputChannels > 0 ) {
212- for ( c = 0 ; c < inputChannels ; ++ c ) {
213- var inChannel = event . inputBuffer . getChannelData ( c ) ;
214- for ( i = 0 , j = c ; i < bufferSize ; ++ i , j += inputChannels ) {
215- inbufferArray [ j ] = inChannel [ i ] ;
205+ var stream = AUDIO . context . createScriptProcessor ( bufferSize , inputChannels , outputChannels ) ;
206+ var inbufferArray = Module . HEAPF32 . subarray ( inbuffer >> 2 , ( inbuffer >> 2 ) + bufferSize * inputChannels ) ;
207+ var outbufferArray = Module . HEAPF32 . subarray ( outbuffer >> 2 , ( outbuffer >> 2 ) + bufferSize * outputChannels ) ;
208+
209+ stream . onaudioprocess = function ( event ) {
210+ var i , j , c ;
211+ if ( inputChannels > 0 ) {
212+ for ( c = 0 ; c < inputChannels ; ++ c ) {
213+ var inChannel = event . inputBuffer . getChannelData ( c ) ;
214+ for ( i = 0 , j = c ; i < bufferSize ; ++ i , j += inputChannels ) {
215+ inbufferArray [ j ] = inChannel [ i ] ;
216+ }
216217 }
217218 }
218- }
219219
220- { { { makeDynCall ( 'viiii' , 'callback' ) } } } ( bufferSize , inputChannels , outputChannels , userData ) ;
220+ { { { makeDynCall ( 'viiii' , 'callback' ) } } } ( bufferSize , inputChannels , outputChannels , userData ) ;
221221
222- if ( outputChannels > 0 ) {
223- for ( c = 0 ; c < outputChannels ; ++ c ) {
224- var outChannel = event . outputBuffer . getChannelData ( c ) ;
225- for ( i = 0 , j = c ; i < bufferSize ; ++ i , j += outputChannels ) {
226- outChannel [ i ] = outbufferArray [ j ] ;
222+ if ( outputChannels > 0 ) {
223+ for ( c = 0 ; c < outputChannels ; ++ c ) {
224+ var outChannel = event . outputBuffer . getChannelData ( c ) ;
225+ for ( i = 0 , j = c ; i < bufferSize ; ++ i , j += outputChannels ) {
226+ outChannel [ i ] = outbufferArray [ j ] ;
227+ }
227228 }
228229 }
229- }
230- } ;
230+ } ;
231231
232- if ( inputChannels > 0 ) {
233- navigator . getUserMedia = navigator . getUserMedia ||
234- navigator . webkitGetUserMedia ||
235- navigator . mozGetUserMedia ||
236- navigator . msGetUserMedia ;
237-
238- if ( navigator . getUserMedia ) {
239- navigator . getUserMedia (
240- { audio : true } ,
241- function ( audioIn ) {
242- var mediaElement = AUDIO . context . createMediaStreamSource ( audioIn ) ;
243- mediaElement . connect ( stream ) ;
244- AUDIO . mediaElement = mediaElement ;
245- } ,
246- function ( error ) {
247- console . log ( "error creating audio in" , error ) ;
248- } ) ;
249- }
250- }
232+ if ( inputChannels > 0 ) {
233+ navigator . mediaDevices . getUserMedia ( { audio : true } )
234+ . then ( function ( audioIn ) {
235+ var mediaElement = AUDIO . context . createMediaStreamSource ( audioIn ) ;
236+ mediaElement . connect ( stream ) ;
237+ AUDIO . mediaElement = mediaElement ;
238+ } )
239+ . catch ( function ( error ) {
240+ console . log ( "Error creating audio in" , error ) ;
241+ } ) ;
242+ }
251243
252- stream . connect ( AUDIO . fft ) ;
253- } ,
244+ stream . connect ( AUDIO . fft ) ;
245+ } ,
254246
255247 html5audio_stream_free : function ( ) {
256248
0 commit comments