diff --git a/index.bs b/index.bs
index 8605567..25b5c08 100644
--- a/index.bs
+++ b/index.bs
@@ -99,7 +99,7 @@ This does not preclude adding support for this as a future API enhancement, and
User consent can include, for example:
- User click on a visible speech input element which has an obvious graphical representation showing that it will start speech input.
- - Accepting a permission prompt shown as the result of a call to
SpeechRecognition.start
.
+ - Accepting a permission prompt shown as the result of a call to start().
- Consent previously granted to always allow speech input for this web page.
@@ -142,6 +142,14 @@ This does not preclude adding support for this as a future API enhancement, and
The term "final result" indicates a SpeechRecognitionResult in which the final attribute is true.
The term "interim result" indicates a SpeechRecognitionResult in which the final attribute is false.
+{{SpeechRecognition}} has the following internal slots:
+
+
+ : [[started]]
+ ::
+ A boolean flag representing whether the speech recognition started. The initial value is false
.
+
+
[Exposed=Window]
interface SpeechRecognition : EventTarget {
@@ -277,15 +285,19 @@ See
+
+ 1. Let requestMicrophonePermission to true
.
+ 1. Run the start session algorithm with requestMicrophonePermission.
+
start({{MediaStreamTrack}} audioTrack) method
- The overloaded start method does the same thing as the parameterless start method except it performs speech recognition on provided {{MediaStreamTrack}} instead of the input media stream.
- If the {{MediaStreamTrack/kind}} attribute of the {{MediaStreamTrack}} is not "audio" or the {{MediaStreamTrack/readyState}} attribute is not "live", the user agent must throw an "{{InvalidStateError!!exception}}" {{DOMException}} and ignore the call.
- Unlike the parameterless start method, the user agent does not check whether [=this=]'s [=relevant global object=]'s [=associated Document=] is [=allowed to use=] the [=policy-controlled feature=] named "microphone
".
+
+ 1. Let audioTrack be the first argument.
+ 1. If audioTrack's {{MediaStreamTrack/kind}} attribute is NOT "audio"
, throw an {{InvalidStateError}} and abort these steps.
+ 1. If audioTrack's {{MediaStreamTrack/readyState}} attribute is NOT "live"
, throw an {{InvalidStateError}} and abort these steps.
+ 1. Let requestMicrophonePermission be false
.
+ 1. Run the start session algorithm with requestMicrophonePermission.
+
stop() method
The stop method represents an instruction to the recognition service to stop listening to more audio, and to try and return a result using just the audio that it has already received for this recognition.
@@ -309,6 +321,16 @@ See microphone" is [=permission/"denied"=], abort these steps.
+1. Once the system is successfully listening to the recognition, [=fire an event=] named start at [=this=].
+
+
+
SpeechRecognition Events
The DOM Level 2 Event Model is used for speech recognition events.