我目前正在开发一个关于非常短的录音的移动应用程序,为了时间起见,我决定用Cordova (而不是Phonegap)来构建它。不幸的是,今天我一直在与我的Nexus5上的实际录音作斗争。
我使用的是Cordova媒体捕获插件,当前运行的代码与他们的文档中的代码完全相同。
在旧设备上,一切都运行得很好。然而,在我的Nexus5上,当我点击按钮录制音频时,即使没有打开录音机,它也只返回错误代码3(没有录制媒体文件)。我认为这可能是新的Android的问题,但在模拟器上它运行得很好。我还想,不知何故,这可能与我在设备上找不到任何音频录制应用程序有关,所以我安装了一个应用程序,但仍然什么都没有。
然后我想也许我做错了什么,所以我安装了这个应用程序:https://github.com/Icenium/sample-capture和同样的问题。
这里有一些关于更新捕获Java文件的建议,我这样做了,但仍然没有帮助。下一步我可以尝试什么?
发布于 2015-01-05 18:22:11
这是因为默认情况下没有安装应用程序来处理意图(正如上面其他人所解释的那样)。
尝试安装一个处理该意图的应用程序。例如,我使用了这个:
https://play.google.com/store/apps/details?id=com.brightattic.soundrecorder&hl=en
(请注意,除了证明问题是缺少录音器应用程序之外,我不会为这款应用程序提供任何支持)。
发布于 2014-02-23 14:02:34
也许可以尝试在androidmanifest.xml中将targetsdk设置为18而不是19 (当然,还要确保在android sdk管理器中安装了API18)。
这将迫使新的kitkat chrome webview以怪癖模式运行,其行为方式类似于jellybean中的webview。
发布于 2014-03-19 18:15:17
我也有同样的问题,运行adb logcat
很有用:
W/System.err(22102): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.provider.MediaStore.RECORD_SOUND }
...
D/CordovaLog(22102): file:///android_asset/www/js/index.js: Line 77 : Capture ERROR: {"message":"Canceled.","code":3}
对我来说,问题是Nexus 5 (android 4.4.2)没有处理意图,即似乎没有默认的录音机。在具有默认录音机的设备上,如果该应用程序不包含RECORD_SOUND接收器,您可能会看到此错误。
https://stackoverflow.com/questions/21968455
复制相似问题