【问题标题】:Cordova Media Capture Android error no.3 issueCordova Media Capture Android error no.3 问题
【发布时间】:2014-02-23 12:52:11
【问题描述】:

我目前正在开发一个关于非常短的录音的移动应用程序,出于时间考虑,我决定使用 Cordova(而不是 Phonegap)构建它。不幸的是,今天我一直在与 Nexus 5 上的实际录音作斗争。

我正在使用 Cordova 媒体捕获插件,当前运行的代码正是他们文档中的代码。

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

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

这里有一些建议来更新 Capture Java 文件,我做了但仍然没有帮助。接下来我可以尝试什么?

【问题讨论】:

    标签: android audio cordova


    【解决方案1】:

    这是因为默认情况下没有安装应用程序来处理意图(正如其他人在上面解释的那样)。

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

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

    (请注意,除了证明问题在于缺少录音机应用程序之外,我没有对该应用程序提供任何认可)。

    【讨论】:

      【解决方案2】:

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

      这应该会强制新的 kitkat chrome webview 在 quirk 模式下运行,并且表现得像 jellybean 中的 webview。

      【讨论】:

      • 将在安装旧的 sdk 后尝试。谢谢!实际上,我刚刚发现有一个“媒体”插件,我设法使它工作。此外,它不会打开应用程序来录制声音,但您可以使用自己的事件来控制它。所以现在我将与 touchstart 和 touchend 战斗:)
      【解决方案3】:

      我遇到了同样的问题,运行 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 的接收器,您可能会看到此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-15
        • 1970-01-01
        • 2021-06-09
        相关资源
        最近更新 更多