| <!doctype html> |
| <meta charset="utf-8"> |
| <title> Web Speech Recognition </title> |
| |
| <script> |
| var successes = 0; |
| var hash = window.location.hash; |
| var recognizer = new webkitSpeechRecognition(); |
| |
| (function () { |
| |
| switch (hash) { |
| // Just probe if creating a SpeechRecognition object worked. |
| case "#precheck": |
| notify(recognizer == null ? 'fail' : 'success'); |
| return; |
| |
| case "#oneshot": |
| recognizer.continuous = false; |
| break; |
| |
| case "#continuous": |
| recognizer.continuous = true; |
| break; |
| |
| default: |
| return; |
| } |
| |
| recognizer.onresult = function(e) { |
| var value = e.results[e.resultIndex][0].transcript; |
| if (value == 'Pictures of the moon') { |
| successes++; |
| notify('goodresult' + successes); |
| } else { |
| notify('badresult'); |
| } |
| } |
| recognizer.onerror = function(e) { |
| console.log('error', e); |
| notify('error' + e.error); |
| } |
| recognizer.onnomatch = function() { console.log('nomatch'); } |
| recognizer.onaudiostart = function() { console.log('audiostart'); } |
| recognizer.onsoundstart = function() { console.log('soundstart'); } |
| recognizer.onsoundend = function() { console.log('soundend'); } |
| recognizer.onaudioend = function() { console.log('audioend'); } |
| |
| recognizer.start(); |
| |
| })(); |
| |
| function notify(status) { |
| document.location = '#' + status; |
| document.location.reload(true); |
| } |
| </script> |