--- title: SpeechRecognition slug: Web/API/SpeechRecognition translation_of: Web/API/SpeechRecognition ---
{{APIRef("Web Speech API")}}{{SeeCompatTable}}
SpeechRecognition
est l'interface contrôleur du service de reconnaissance de la Web Speech API; elle gère également les {{domxref("SpeechRecognitionEvent")}} envoyés par le service de reconnaissance.
SpeechRecognition
SpeechRecognition
hérite également des propriétés de son interface parente, {{domxref("EventTarget")}}.
SpeechRecognition
.SpeechRecognition
. Si elle n'est pas spécifiée, prend la valeur par défaut du HTML {{htmlattrxref("lang","html")}} ou le paramètre de langue du user agent si celle-ci n'est pas défini non plus.false
.)true
) ou pas (false
.) Les résultats intermédiaires sont des résultats qui ne sont pas encore définitifs. (e.x. ou la propriété {{domxref("SpeechRecognitionResult.isFinal")}} est false
.)SpeechRecognition
pour traiter la reconnaissance proprement dite. La valeur par défaut le chemin par défaut du user agent.SpeechRecognition
actuelle.SpeechRecognition
also inherits methods from its parent interface, {{domxref("EventTarget")}}.
SpeechRecognition
.In our simple Speech color changer example, we create a new SpeechRecognition
object instance using the {{domxref("SpeechRecognition.SpeechRecognition", "SpeechRecognition()")}} constructor, create a new {{domxref("SpeechGrammarList")}}, and set it to be the grammar that will be recognised by the SpeechRecognition
instance using the {{domxref("SpeechRecognition.grammars")}} property.
After some other values have been defined, we then set it so that the recognition service starts when a click event occurs (see {{domxref("SpeechRecognition.start()")}}.) When a result has been successfully recognised, the {{domxref("SpeechRecognition.onresult")}} handler fires, we extract the color that was spoken from the event object, and then set the background color of the {{htmlelement("html")}} element to that colour.
var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new SpeechRecognition(); var speechRecognitionList = new SpeechGrammarList(); speechRecognitionList.addFromString(grammar, 1); recognition.grammars = speechRecognitionList; //recognition.continuous = false; recognition.lang = 'en-US'; recognition.interimResults = false; recognition.maxAlternatives = 1; var diagnostic = document.querySelector('.output'); var bg = document.querySelector('html'); document.body.onclick = function() { recognition.start(); console.log('Ready to receive a color command.'); } recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.textContent = 'Result received: ' + color; bg.style.backgroundColor = color; }
Specification | Status | Comment |
---|---|---|
{{SpecName('Web Speech API', '#speechreco-section', 'SpeechRecognition')}} | {{Spec2('Web Speech API')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | {{CompatChrome(33)}}{{property_prefix("webkit")}} [1] | {{CompatNo}} [2] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
continuous |
{{CompatChrome(33)}} [1] | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatVersionUnknown}}[1] | {{CompatGeckoMobile(44)}} | 2.5 | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
continuous |
{{CompatUnknown}} | {{CompatVersionUnknown}}[1] | {{CompatUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
webkitSpeechRecognition
; You'll also need to serve your code through a web server for recognition to work.media.webspeech.recognition.enable
flag in about:config on mobile. Not implemented at all on Desktop Firefox — see {{bug(1248897)}}.To use speech recognition in an app, you need to specify the following permissions in your manifest:
"permissions": { "audio-capture" : { "description" : "Audio capture" }, "speech-recognition" : { "description" : "Speech recognition" } }
You also need a privileged app, so you need to include this as well:
"type": "privileged"