[ 
https://issues.apache.org/jira/browse/CB-12434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15860352#comment-15860352
 ] 

ASF GitHub Bot commented on CB-12434:
-------------------------------------

Github user jcesarmobile commented on the issue:

    https://github.com/apache/cordova-plugin-media/pull/127
  
    @macdonst can you take a look?


> 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
>              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

Reply via email to