2017-04-20 58 views
-1

我目前正在研究实现一项功能,其中我的应用程序的用户可以通过输入文本或使用语音导航到网站的不同部分。我的项目中使用了以下代码,使用谷歌的语音识别API,它允许用户输入文本来执行谷歌搜索或使用口头词来达到相同的结果。我想知道是否有人能够在正确的方向给我一些指示,我可以使用此代码来搜索我的应用程序时,如果用户发言/键入forum那么它将导航到localhost索引论坛视图。在此先感谢,代码如下。使用语音导航到基于文本/语音的视图

代码为谷歌搜索/文本

<form id="labnol" method="get" target="_blank" action="https://www.google.com/search"> 
    <div class="speech"> 
     <input type="text" name="q" id="transcript" placeholder="Speak" /> 
     <img onclick="startDictation()" src="//i.imgur.com/cHidSVu.gif" /> 
    </div> 
</form> 

脚本语音听写谷歌搜索

<script> 
    function startDictation() { 

     if (window.hasOwnProperty('webkitSpeechRecognition')) { 

      var recognition = new webkitSpeechRecognition(); 

      recognition.continuous = false; 
      recognition.interimResults = false; 

      recognition.lang = "en-US"; 
      recognition.start(); 

      recognition.onresult = function(e) { 
       document.getElementById('transcript').value 
             = e.results[0][0].transcript; 
       recognition.stop(); 
       document.getElementById('labnol').submit(); 
      }; 

      recognition.onerror = function(e) { 
       recognition.stop(); 
      } 

     } 
    } 
</script> 
+0

这是什么都与MVC呢? –

回答

0

通过实施以下(解决似乎很容易,但我有一个大脑放屁)

HTML for applicat离子搜索

<form id="labnol1"> 
    <div class="speech"> 
     <input type="text" name="q2" id="transcript2" placeholder="Speak" /> 
     <img onclick="startDictationApplication()" src="//i.imgur.com/cHidSVu.gif" /> 
    </div> 
</form> 

脚本

<script src="~/Scripts/jquery-1.10.2.min.js"></script> 
<script src="~/Content/sweetalert.min.js"></script> 

<script> 
    function startDictationApplication() { 

     if (window.hasOwnProperty('webkitSpeechRecognition')) { 

      var recognition = new webkitSpeechRecognition(); 

      recognition.continuous = false; 
      recognition.interimResults = false; 

      recognition.lang = "en-US"; 
      recognition.start(); 

      recognition.onresult = function(e) { 
       document.getElementById('transcript2').value 
             = e.results[0][0].transcript; 

       recognition.stop(); 
       if (document.getElementById('transcript2').value == "forum") { 
        swal({ 
         type: "success", 
         title: "Loud and Clear!", 
         text: "Taking you to the forum!", 
         timer: 2000, 
         showConfirmButton: false 
        }); 
        window.location.href = 'http://localhost:number/relevant view'; 
       } else { 
        swal({ 
         type: "error", 
         title: "No such page!", 
         text: "Please refer to supported voice recogniton pages and try again!", 
         timer: 2000, 
         showConfirmButton: false 
        }); 
       } 
      }; 

      recognition.onerror = function(e) { 
       recognition.stop(); 
      } 

     } 
    } 
</script>