2014-01-21 3 views
0

Я новичок в разработке приложений cordova-android. Я использую cordova 3.3.0 для создания приложения Android phonegap SpeechRecognizer. Я сослался на SpeechRecognizer. В соответствии с этим я выполнил ниже команды для создания приложения для платформы corova android.Android phonegap Проблема с SpeechRecognizer: Невозможно прочитать свойство 'speechrecognizer'

1) Cordova создать SpeechrecognizerApp

2) Cordova платформа добавить андроид

3) PhoneGap локальный плагин добавить https://github.com/mayurloved/speechrecognizer.git

Afer, что я импортировал этот проект в затмении и он автоматически создал все необходимые пакеты и внес все изменения в 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> 

Я не скопировали SpeechRecognizer.js в WWW папке, в соответствии с приведенной выше ссылке я не нужно копировать его в моем приложении, потому что я использую версию cordova> 3.0. Пожалуйста, помогите мне решить эту проблему.

спасибо.

+0

вы можете проверить, присутствует ли в вашем проекте следующий файл (если нет, удалить-переустановите плагин) платформы \ android \ assets \ www \ plugins \ com.phonegap.plugins.speech \ SpeechRecognizer.js – QuickFix

+0

я сделал remove-reinstall много раз, но не добавляя 'SpeechRecognizer.js' в папку' www'. Даже не создавая каких-либо папок 'platform \ android \ assets \ www \ plugins \ com.phonegap.plugins.speech' – zanky

ответ

0

Запустили ли вы phonegap build android после добавления плагина? Когда вы устанавливаете плагины, они устанавливаются только в папке/plugins проекта, но не в папке платформы.

Вы должны запустить phonegap build или phonegap prepare для любой платформы, чтобы полностью установить плагин.

А затем после вы можете обновить проект в затмении, и вы должны увидеть Java часть плагина в папке/Src и JavaScript в/активов/WWW/плагинов


Если папка платформ \ android \ assets \ www \ plugins ... не существует после сборки, возможно, потому, что ваш проект поврежден.

В этом случае вы можете попробовать очистить папку плагинов от корня вашего проекта и переустановить все плагины.

Если этого недостаточно, вы можете повторно очистить обе платформы и папку плагинов (подумайте, чтобы сохранить любую настройку, которую вы, возможно, сделали в папках платформ).

+0

ok..i попробуем .. спасибо за вашу поддержку .. – zanky

+0

i выполнен' phonegap prepare' команда и ее работа. – zanky

Смежные вопросы