我是cordova-android app开发的新手。我正在使用cordova 3.3.0
来创建Android phonegap SpeechRecognizer应用程序。我提到SpeechRecognizer。根据我已执行以下命令来创建cordova android平台应用程序。
1)cordova创建SpeechrecognizerApp
2)cordova平台添加android
3)phonegap本地插件添加https://github.com/mayurloved/speechrecognizer.git
我在eclipse中导入了该项目,它自动创建了所有必需的包,并在config.xml
中进行了所有更改。然后我将示例页面的所有html
内容复制到我的index.html
文件中。一切都正常完成,但是当我运行我的应用程序时,日志显示错误:
Uncaught TypeError: Cannot read property 'speechrecognizer' of undefined:20
的index.html
<!DOCTYPE html>
<html>
<head>
<title>Speech Recognition plugin demo</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="SpeechRecognizer.js"></script>
</head>
<body>
<script type="text/javascript">
function onDeviceReady(){
console.log("Device is ready");
}
function recognizeSpeech() {
var maxMatches = 5;
var promptString = "Speak now"; // optional
var language = "en-US"; // optional
window.plugins.speechrecognizer.startRecognize(function(result){
alert(result);
}, function(errorMessage){
console.log("Error message: " + errorMessage);
}, maxMatches, promptString, language);
}
// Show the list of the supported languages
function getSupportedLanguages() {
window.plugins.speechrecognizer.getSupportedLanguages(function(languages){
// display the json array
alert(languages);
}, function(error){
alert("Could not retrieve the supported languages : " + error);
});
}
document.addEventListener("deviceready", onDeviceReady, true);
</script>
<button onclick="recognizeSpeech();">Start recognition</button>
<button onclick="getSupportedLanguages();">Get Supported Languages</button>
</body>
</html>
我没有在{strong> www 文件夹中复制SpeechRecognizer.js
,因为根据以上链接,我不需要在我的应用中复制它,因为我使用的是cordova版本&gt; 3.0。请帮我解决这个问题。
谢谢。
答案 0 :(得分:0)
添加插件后是否启动了phonegap build android
?安装插件时,它们仅安装在项目的/ plugins文件夹中,而不安装在平台文件夹中。
您必须为任何平台运行phonegap build
或phonegap prepare
才能完全安装该插件。
然后你可以在eclipse中刷新项目,你应该看到/ src文件夹中插件的java部分和/ assets / www / plugins中的javascript
如果构建后文件夹平台\ android \ assets \ www \ plugins ...不存在,那可能是因为您的项目已损坏。
在这种情况下,您可以尝试清空项目根目录下的plugins文件夹并重新安装所有插件。
如果这还不够,您可以重试清空平台和插件文件夹(想想保存您在平台文件夹中可能进行的任何自定义)。