From: Pawel Kaczmarczyk Date: Thu, 8 Feb 2018 09:57:15 +0000 (+0100) Subject: [Media] Fix deprecated API X-Git-Tag: submit/tizen/20180514.095841~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=848caf6a36a6b3482e31b57ed44b862893d1a48f;p=platform%2Fcore%2Fapi%2Fcordova-plugins.git [Media] Fix deprecated API [Verification] tct-media-cordova-tizen-tests passrate 100% tested in Chromium console Change-Id: I7938d1a1016c67f3862d49dabed02b2d510154a2 Signed-off-by: Pawel Kaczmarczyk --- diff --git a/src/lib/plugins/cordova-plugin-media/tizen/Media.js b/src/lib/plugins/cordova-plugin-media/tizen/Media.js index 0f29b19..717be92 100755 --- a/src/lib/plugins/cordova-plugin-media/tizen/Media.js +++ b/src/lib/plugins/cordova-plugin-media/tizen/Media.js @@ -36,25 +36,37 @@ cordova.define(plugin_name, function(require, exports, module) { var sampleRate = null; var filename = _filename; var audioBlob = null; + var leftchannel = []; + var rightchannel = []; this.rec = function(){ - - if (!navigator.getUserMedia) + if (navigator.mediaDevices.getUserMedia){ + navigator.mediaDevices.getUserMedia({audio:true}) + .then(onGetUserMedia) + .catch(function(e) { + console.log('Error capturing audio: ' + e.name + ': ' + e.message); + }); + } else { navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; - - if (navigator.getUserMedia){ - navigator.getUserMedia({audio:true}, onGetUserMedia, function(e) { - console.log('Error capturing audio.'); - }); - } else { - console.log('getUserMedia not supported in this browser.'); + if(navigator.getUserMedia) { + navigator.getUserMedia({audio: true}, onGetUserMedia, function(e) { + console.log('Error capturing audio: ' + e.name + ': ' + e.message); + }) + } else { + console.log('getUserMedia not supported in this browser.'); + } } } this.stop = function (){ recording = false; - audioBlob.stop(); + var tracks = audioBlob.getAudioTracks(); + + tracks.forEach(function(track) { + track.stop(); + }); + recorder.disconnect(); // flat the left and right channels down @@ -100,8 +112,6 @@ cordova.define(plugin_name, function(require, exports, module) { function onGetUserMedia(stream){ recording = true; - var leftchannel = []; - var rightchannel = []; recordingLength = 0; audioBlob = stream; @@ -123,7 +133,7 @@ cordova.define(plugin_name, function(require, exports, module) { Lower values for buffer size will result in a lower (better) latency. Higher values will be necessary to avoid audio breakup and glitches */ var bufferSize = 2048; - recorder = context.createJavaScriptNode(bufferSize, 2, 2); + recorder = context.createScriptProcessor(bufferSize, 2, 2); recorder.onaudioprocess = function(sample){ if (!recording) {