You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Gerard Kromhout (JIRA)" <ji...@apache.org> on 2017/01/03 14:53:58 UTC

[jira] [Commented] (CB-12240) Recording audio with MediaPlugin on Android failed with exception

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

Gerard Kromhout commented on CB-12240:
--------------------------------------

It seems as if I have the same problem, with cordova-plugin-media 2.4.0, on an actual device: LG nexus 5X, Android 7.0
No problems on a Motorola Moto G 3rd generation Android 6.1 no error logs.

I'm not using Ionic. 
Changing the filepath to "cdvfile://localhost/persistent/aep-recording.3gp" does not make the error go away. My original recordPath is '/sdcard/filename.wav' 

I can record and playback a sound 1 time only.

First time when I try to record something:
{noformat}
01-03 15:33:24.570   523   618 E OMXNodeInstance: setConfig(20b0071:google.amrnb.encoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
01-03 15:33:24.587   513 25195 E audio_route: unable to find path 'set-capture-format-default'
{noformat}

Playback generates:
{noformat}
01-03 15:35:16.124   523  9202 E OMXNodeInstance: setConfig(20b0073:google.amrnb.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
{noformat}

After that, a new recording generates this:
{noformat}
01-03 15:35:51.481 24468 24532 E AudioPlayer: /storage/emulated/0/tmprecording-1483454004548.3gp (No such file or directory)
01-03 15:35:51.481 24468 24532 E AudioPlayer: java.io.FileNotFoundException: /storage/emulated/0/tmprecording-1483454004548.3gp (No such file or directory)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at java.io.FileInputStream.open(Native Method)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at java.io.FileInputStream.<init>(FileInputStream.java:146)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.destroy(AudioPlayer.java:133)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioHandler.release(AudioHandler.java:276)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:170)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.PluginManager.exec(PluginManager.java:133)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at android.os.Handler.dispatchMessage(Handler.java:102)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at android.os.Looper.loop(Looper.java:154)
01-03 15:35:51.481 24468 24532 E AudioPlayer: 	at android.os.HandlerThread.run(HandlerThread.java:61)
01-03 15:35:51.482 24468 24532 E AudioPlayer: /storage/emulated/0/tmprecording-1483454004548.3gp (No such file or directory)
01-03 15:35:51.482 24468 24532 E AudioPlayer: java.io.FileNotFoundException: /storage/emulated/0/tmprecording-1483454004548.3gp (No such file or directory)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at java.io.FileInputStream.open(Native Method)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at java.io.FileInputStream.<init>(FileInputStream.java:146)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.moveFile(AudioPlayer.java:213)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.stopRecording(AudioPlayer.java:271)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioPlayer.destroy(AudioPlayer.java:133)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioHandler.release(AudioHandler.java:276)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.media.AudioHandler.execute(AudioHandler.java:170)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.PluginManager.exec(PluginManager.java:133)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at android.os.Handler.dispatchMessage(Handler.java:102)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at android.os.Looper.loop(Looper.java:154)
01-03 15:35:51.482 24468 24532 E AudioPlayer: 	at android.os.HandlerThread.run(HandlerThread.java:61)
01-03 15:35:51.516   523  3467 E OMXNodeInstance: setConfig(20b0074:google.amrnb.encoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
01-03 15:35:51.534   513 26202 E audio_route: unable to find path 'set-capture-format-default'
{noformat}

> 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: Plugin Media
>         Environment: Android
>            Reporter: Marijn Giesen
>              Labels: Android
>
> 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: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org