Marijn Giesen created CB-12240:
----------------------------------

             Summary: Recording audio with MediaPlugin on Android failed with 
exception
                 Key: CB-12240
                 URL: https://issues.apache.org/jira/browse/CB-12240
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android, Plugin Media
         Environment: Android
            Reporter: Marijn Giesen


Recording audio using the MediaPlugin on Android fails with exception. The 
audiorecorder seems to be working, but the file never gets created. 

The following exception is shown in the logs:
{noformat}
12-12 05:57:08.397  1777  1818 D AudioPlayer: stopping recording
12-12 05:57:08.401  1777  1818 D AudioPlayer: size = 2
12-12 05:57:08.402  1777  1818 E AudioPlayer: 
/storage/emulated/0/tmprecording-1481540219004.3gp: open failed: ENOENT (No 
such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer: java.io.FileNotFoundException: 
/storage/emulated/0/tmprecording-1481540219004.3gp: open failed: ENOENT (No 
such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.IoBridge.open(IoBridge.java:452)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
java.io.FileInputStream.<init>(FileInputStream.java:76)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.destroy(AudioPlayer.java:133)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioHandler.release(AudioHandler.java:276)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:170)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.PluginManager.exec(PluginManager.java:132)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:57)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.Handler.dispatchMessage(Handler.java:102)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.Looper.loop(Looper.java:148)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.HandlerThread.run(HandlerThread.java:61)
12-12 05:57:08.402  1777  1818 E AudioPlayer: Caused by: 
android.system.ErrnoException: open failed: ENOENT (No such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at libcore.io.Posix.open(Native 
Method)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.IoBridge.open(IoBridge.java:438)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   ... 15 more
12-12 05:57:08.402  1777  1818 E AudioPlayer: 
/storage/emulated/0/tmprecording-1481540219004.3gp: open failed: ENOENT (No 
such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer: java.io.FileNotFoundException: 
/storage/emulated/0/tmprecording-1481540219004.3gp: open failed: ENOENT (No 
such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.IoBridge.open(IoBridge.java:452)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
java.io.FileInputStream.<init>(FileInputStream.java:76)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioPlayer.destroy(AudioPlayer.java:133)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioHandler.release(AudioHandler.java:276)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:170)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.PluginManager.exec(PluginManager.java:132)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:57)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.Handler.dispatchMessage(Handler.java:102)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.Looper.loop(Looper.java:148)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
android.os.HandlerThread.run(HandlerThread.java:61)
12-12 05:57:08.402  1777  1818 E AudioPlayer: Caused by: 
android.system.ErrnoException: open failed: ENOENT (No such file or directory)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at libcore.io.Posix.open(Native 
Method)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   at 
libcore.io.IoBridge.open(IoBridge.java:438)
12-12 05:57:08.402  1777  1818 E AudioPlayer:   ... 15 more
{noformat}

This can be easily reproduced by running the following code on an Android 
emulator or phone. iOS does NOT have this issue:

{noformat}
fileRecord = new MediaPlugin('./.aep-recording.wav');
fileRecord.startRecording();
fileRecord.stopRecording();
{noformat}

Output from ionic info
{noformat}
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.14
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.46
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: OS X El Capitan
Node Version: v6.9.1
Xcode version: Xcode 8.1 Build version 8B62
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to