Cordova Media Capture Android错误3号问题

时间:2014-02-23 12:52:11

标签: android audio cordova

所以我目前正在开发一个移动应用程序,这个应用程序都是关于非常短的录音,并且我决定用Cordova(而不是Phonegap)来构建它。 不幸的是,今天我一直在与Nexus 5上的实际录音作斗争。

我正在使用cordova media-capture插件,当前运行的代码正是其文档中的代码。

在旧设备上,一切都运行良好。但是在我的Nexus 5上,当我点击按钮录制音频时,即使没有打开录音机,它也会返回错误代码3(没有录制媒体文件)。我认为它可能是新的android的问题,但在模拟器上运行正常。我还认为它可以连接到我在我的设备上找不到任何录音应用程序,所以我安装了一个,但仍然没有。

然后我想也许我做错了什么,我安装了这个应用程序:https://github.com/Icenium/sample-capture和同样的问题。

这里有一些建议来更新Capture java文件,我做过但仍然没有帮助。

有什么想法吗?在这里疯了......

3 个答案:

答案 0 :(得分:2)

这是因为默认情况下没有安装应用程序来处理意图(如上所述)。

尝试安装处理该意图的应用程序。例如,我使用了这个:

https://play.google.com/store/apps/details?id=com.brightattic.soundrecorder&hl=en

(请注意,除了证明问题是缺少录音机应用程序之外,我不提供对应用程序的认可。)

答案 1 :(得分:1)

也许尝试在androidmanifest.xml中将targetsdk设置为18而不是19(当然一定要在android sdk manager中安装api 18)。

这应该强制新的kitkat chrome webview以怪癖模式运行,其行为类似于软糖中的webview。

答案 2 :(得分:0)

我遇到了同样的问题,运行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)没有处理Intent,即似乎没有默认的录音机。 在具有默认录音机的设备上,如果该应用程序没有包含RECORD_SOUND的接收器,您可能会看到此错误。