android - 某些设备 phonegap 媒体插件中的 Cordova 录音问题

标签 android cordova

我正在为 Android 设备使用 phonegap 开发一个简单的应用程序,其中一项功能是录音。捕捉语音的 fragment 如下 -

function captureAudio() {
        navigator.device.capture.captureAudio(captureSuccess, captureError, { limit: 1, duration: 60 });
    }

该应用程序在 Samsung Tab 2(Android 版本 4.1.2)和 Samsung Mega(Android 版本 4.2.2)中按预期运行,用户可以录制语音。

我在 Lenovo A 1000(Android 版本 4.1.2)和 Samsung Tab 3 Neo(Android 4.2.2)上部署了相同的应用程序,但默认录音机未打开,我在 logcat 中收到以下错误 -

在 Cordova 3.x 版本中:- android.content.ActivityNotFoundException: 没有找到处理 Intent 的 Activity { act=android.provider.MediaStore.RECORD_SOUND }

在 Cordova 2.8 版本中:

错误代码 3。

如上所述,应用程序在 Android 4.1.2 和 4.2.2 的某些设备上运行良好,但在具有相同版本的某些设备上无法运行。

然后我尝试了本地录音机示例(从 http://krvarma-android-samples.googlecode.com/svn/trunk 下载),它在所有设备上都运行良好。

所以,发现是phonegap的Media插件有问题。

但是,我们可以构建自己的插件来录制语音,但如果可以通过标准插件解决,那就更好了。

有什么帮助吗?

问候 因陀罗比仙

最佳答案

从您链接的代码示例来看,我假设您使用的是 org.apache.cordova.media-capture 插件。我在使用此插件时遇到了同样的问题,并发现如果设备没有默认录音机,它就无法正常工作。

我发现避免这种情况的唯一方法是使用 plugin org.apache.cordova.media,这有点不同,因为您必须自己创建录制 UI。

我也可以在 this question 上重定向您对于此插件的代码示例,它讨论的问题与您的问题相同。

关于android - 某些设备 phonegap 媒体插件中的 Cordova 录音问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24848301/

相关文章:

android - 不同的资源文件、用于调试和发布版本的 jar

android - 制作视频合并移动应用程序的最佳方法

javascript - ReactJS 与 Cordova 在解析 js/css 源方面存在冲突。如何解决?

java - 在 AndroidManifest 中授予 Activity 权限

android - Ionic android 构建失败,找不到插件 "proposal-numeric-separator"

java - 带有 Intent 的空对象引用

android - 如何验证用户是否具有网络访问权限并在没有网络访问权限时显示弹出警报

java - 将 .jar 文件包含到 cordova 插件中

Android/Cordova WebView native HTML 选择导致奇怪的 DOM 行为

android - 双 gcm 通知