[ https://issues.apache.org/jira/browse/CB-12434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15861960#comment-15861960 ]
ASF GitHub Bot commented on CB-12434: ------------------------------------- Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-media/pull/127 > Stoping a Paused Recording throws file not found exception > ---------------------------------------------------------- > > Key: CB-12434 > URL: https://issues.apache.org/jira/browse/CB-12434 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Media > Affects Versions: 2.4.1 > Reporter: jcesarmobile > Assignee: jcesarmobile > Labels: android, easyfix > > Start recording > pause recording > stop recording > boom! > {code} > /storage/emulated/0/tmprecording-1486509338267.3gp: open failed: ENOENT (No > such file or directory) > > java.io.FileNotFoundException: > /storage/emulated/0/tmprecording-1486509338267.3gp: open failed: ENOENT (No > such file or directory) > at > libcore.io.IoBridge.open(IoBridge.java:452) > at > java.io.FileInputStream.<init>(FileInputStream.java:76) > at > org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213) > at > org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271) > at > org.apache.cordova.media.AudioHandler.stopRecordingAudio(AudioHandler.java:298) > at > org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:121) > at > org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98) > at > org.apache.cordova.PluginManager.exec(PluginManager.java:132) > at > org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:57) > at > org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41) > at > org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) > at > org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41) > at > android.os.Handler.dispatchMessage(Handler.java:102) > at > android.os.Looper.loop(Looper.java:148) > at > android.os.HandlerThread.run(HandlerThread.java:61) > Caused by: > android.system.ErrnoException: open failed: ENOENT (No such file or directory) > at > libcore.io.Posix.open(Native Method) > at > libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) > at > libcore.io.IoBridge.open(IoBridge.java:438) > at > java.io.FileInputStream.<init>(FileInputStream.java:76) > at > org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213) > at > org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271) > at > org.apache.cordova.media.AudioHandler.stopRecordingAudio(AudioHandler.java:298) > > at > org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:121) > at > org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98) > at > org.apache.cordova.PluginManager.exec(PluginManager.java:132) > at > org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:57) > at > org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41) > at > org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) > at > org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41) > > at > android.os.Handler.dispatchMessage(Handler.java:102) > at > android.os.Looper.loop(Looper.java:148) > at > android.os.HandlerThread.run(HandlerThread.java:61) > {code} > the problem is the file is added to the tempFiles list twice, once on pause > and once on stop, so it's moved twice, and the second time it doesn't exist > anymore because it was moved. > It's an easy fix, just check if the tempFiles already contains the file on > stopRecording > {code} > if (!this.tempFiles.contains(this.tempFile)) { > this.tempFiles.add(this.tempFile); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org