科尔多瓦音频录制问题在一些设备phonegap媒体插件

时间:2014-07-20 07:24:21

标签: android cordova

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

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

应用程序正在预期的三星Tab 2(Android版本4.1.2)&三星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的活动{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插件存在一些问题。

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

任何帮助?

此致 英德拉比森

1 个答案:

答案 0 :(得分:3)

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

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

我还可以在this question上重定向您,获取此插件的代码示例,它会解决与您相同的问题。