2012-04-26 21 views
0

我試圖在沒有單擊麥克風圖標的情況下啓動語音輸入會話。 像在窗口加載或文檔加載事件 - 而不是默認的點擊事件。在HTML5中自動啓動語音到文本

<input type="text" id="autoStart" x-webkit-speech />

我使用谷歌瀏覽器,因爲它支持大多數的HTML 5個特性。

+3

我可能是錯的,但我很確定這是否可能會被視爲隱私問題。 – starbugs 2012-04-26 15:47:30

+0

是的,在未經許可的情況下錄製某些言辭應該是一個安全問題,但是我想完成這項任務以啓動我的項目。感謝您的支持。 – 2012-04-26 15:53:41

+0

[自動語音輸入在Chrome中錄製]的可能重複(http://stackoverflow.com/questions/7751146/automate-speech-input-recording-in-chrome) – Shoban 2012-04-30 14:27:12

回答

0

在加載頁面時執行此代碼,您將看到一個權限對話框,要求您授予麥克風訪問權限。點擊允許和語音到文本識別將開始。檢查語音識別API docs以瞭解可綁定到的事件。

var interim_result, final_result; 
var recognition_engine = new webkitSpeechRecognition(); 

recognition_engine.continuous = true; 
recognition_engine.interimResults = true; 
recognition_engine.lang = 'en-US'; 
recognition_engine.onresult = function(function(e) { 

    var result, i; 

    interim_result = ''; 
    if (typeof e.results === 'undefined') { 

    recognition_engine.stop(); 
    console.log('SPEECH RECOGNITION : stopping due to empty result.', e); 
    return; 
    } 
    for (i = event.resultIndex; i < event.results.length; ++i) { 
    result = event.results[i]; 
    if (result.isFinal) { 
     final_result = result[0].transcript; 
     console.log('SPEECH RECOGNITION : final transcript = ' + final_result, e); 
     // trigger a command matching the final utterance here 
    } else { 
     interim_result += result[0].transcript; 
    } 
    } 
    console.log('SPEECH RECOGNITION : interim result = ' + interim_result); 
}; 
recognition_engine.start();