我正在制作Cordova应用程序,其中一个要求是能够听到用户的声音。
我按照示例here,但后来我发现它不是我的预期。它在Android中抛出了一条Record消息意图,但我需要像语音识别弹出窗口("现在说话"弹出窗口),即使它跳过语音识别过程(事实上,我会跳过它)。
有没有办法用Cordova听用户?
答案 0 :(得分:0)
修改强>
抱歉,我没有注意到您已经按照本教程进行操作。但你可以做的就是为这个目的写一个CordovaPlugin,这样你就可以完全控制所发生的一切。
你的第二个选择就是对cordova发送的意图作出反应,但在这两种情况下你都必须自己处理音频录制,这对于在大量设备上工作来说可能很棘手。
无论哪种方式你决定,我都可以帮助你,让你走上正确的轨道。
原始答案:
是的,你必须将它添加到你的plugin.xml:
<plugin name="Capture" value="org.apache.cordova.Capture"/>
并将此添加到您的清单中:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后你可以这样记录:
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start audio capture
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});
您可以找到有关here
主题的更多信息