diff --git a/app/js/directives.js b/app/js/directives.js index bf9f4837..bbde5aad 100755 --- a/app/js/directives.js +++ b/app/js/directives.js @@ -1454,6 +1454,7 @@ angular.module('myApp.directives', ['myApp.filters']) var stickerImageCompiled = $compile(''); var cachedStickerImages = {}; var audioRecorder = null; + var audioPromise = null; var audioStream = null; var emojiTooltip = new EmojiTooltip(emojiButton, { @@ -1595,7 +1596,7 @@ angular.module('myApp.directives', ['myApp.filters']) if (audioRecorder) { $scope.$parent.$parent.voiceRecorder.processing = true; - audioRecorder.ondataavailable = function(e){ + audioPromise.then(function(e) { var blob = e.data; console.log(blob); @@ -1604,12 +1605,16 @@ angular.module('myApp.directives', ['myApp.filters']) audioRecorder = null; $scope.$parent.$parent.voiceRecorder.processing = false; - } + }); } }); $($window).on('touchend', function(){ if (audioRecorder) { + audioPromise = new Promise(function(resolve) { + audioRecorder.ondataavailable = resolve; + }); + audioRecorder.stop(); audioStream.stop();