SpeechRecognition class
@DomName('SpeechRecognition')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental
class SpeechRecognition extends EventTarget native "SpeechRecognition" {
@DomName('SpeechRecognition.audioendEvent')
@DocsEditable
static const EventStreamProvider<Event> audioEndEvent = const EventStreamProvider<Event>('audioend');
@DomName('SpeechRecognition.audiostartEvent')
@DocsEditable
static const EventStreamProvider<Event> audioStartEvent = const EventStreamProvider<Event>('audiostart');
@DomName('SpeechRecognition.endEvent')
@DocsEditable
static const EventStreamProvider<Event> endEvent = const EventStreamProvider<Event>('end');
@DomName('SpeechRecognition.errorEvent')
@DocsEditable
static const EventStreamProvider<SpeechRecognitionError> errorEvent = const EventStreamProvider<SpeechRecognitionError>('error');
@DomName('SpeechRecognition.nomatchEvent')
@DocsEditable
static const EventStreamProvider<SpeechRecognitionEvent> noMatchEvent = const EventStreamProvider<SpeechRecognitionEvent>('nomatch');
@DomName('SpeechRecognition.resultEvent')
@DocsEditable
static const EventStreamProvider<SpeechRecognitionEvent> resultEvent = const EventStreamProvider<SpeechRecognitionEvent>('result');
@DomName('SpeechRecognition.soundendEvent')
@DocsEditable
static const EventStreamProvider<Event> soundEndEvent = const EventStreamProvider<Event>('soundend');
@DomName('SpeechRecognition.soundstartEvent')
@DocsEditable
static const EventStreamProvider<Event> soundStartEvent = const EventStreamProvider<Event>('soundstart');
@DomName('SpeechRecognition.speechendEvent')
@DocsEditable
static const EventStreamProvider<Event> speechEndEvent = const EventStreamProvider<Event>('speechend');
@DomName('SpeechRecognition.speechstartEvent')
@DocsEditable
static const EventStreamProvider<Event> speechStartEvent = const EventStreamProvider<Event>('speechstart');
@DomName('SpeechRecognition.startEvent')
@DocsEditable
static const EventStreamProvider<Event> startEvent = const EventStreamProvider<Event>('start');
/// Checks if this type is supported on the current platform.
static bool get supported => JS('bool', '!!(window.SpeechRecognition || window.webkitSpeechRecognition)');
@DomName('SpeechRecognition.continuous')
@DocsEditable
bool continuous;
@DomName('SpeechRecognition.grammars')
@DocsEditable
SpeechGrammarList grammars;
@DomName('SpeechRecognition.interimResults')
@DocsEditable
bool interimResults;
@DomName('SpeechRecognition.lang')
@DocsEditable
String lang;
@DomName('SpeechRecognition.maxAlternatives')
@DocsEditable
int maxAlternatives;
@DomName('SpeechRecognition.abort')
@DocsEditable
void abort() native;
@JSName('addEventListener')
@DomName('SpeechRecognition.addEventListener')
@DocsEditable
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
@DomName('SpeechRecognition.dispatchEvent')
@DocsEditable
bool dispatchEvent(Event evt) native;
@JSName('removeEventListener')
@DomName('SpeechRecognition.removeEventListener')
@DocsEditable
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
@DomName('SpeechRecognition.start')
@DocsEditable
void start() native;
@DomName('SpeechRecognition.stop')
@DocsEditable
void stop() native;
@DomName('SpeechRecognition.onaudioend')
@DocsEditable
Stream<Event> get onAudioEnd => audioEndEvent.forTarget(this);
@DomName('SpeechRecognition.onaudiostart')
@DocsEditable
Stream<Event> get onAudioStart => audioStartEvent.forTarget(this);
@DomName('SpeechRecognition.onend')
@DocsEditable
Stream<Event> get onEnd => endEvent.forTarget(this);
@DomName('SpeechRecognition.onerror')
@DocsEditable
Stream<SpeechRecognitionError> get onError => errorEvent.forTarget(this);
@DomName('SpeechRecognition.onnomatch')
@DocsEditable
Stream<SpeechRecognitionEvent> get onNoMatch => noMatchEvent.forTarget(this);
@DomName('SpeechRecognition.onresult')
@DocsEditable
Stream<SpeechRecognitionEvent> get onResult => resultEvent.forTarget(this);
@DomName('SpeechRecognition.onsoundend')
@DocsEditable
Stream<Event> get onSoundEnd => soundEndEvent.forTarget(this);
@DomName('SpeechRecognition.onsoundstart')
@DocsEditable
Stream<Event> get onSoundStart => soundStartEvent.forTarget(this);
@DomName('SpeechRecognition.onspeechend')
@DocsEditable
Stream<Event> get onSpeechEnd => speechEndEvent.forTarget(this);
@DomName('SpeechRecognition.onspeechstart')
@DocsEditable
Stream<Event> get onSpeechStart => speechStartEvent.forTarget(this);
@DomName('SpeechRecognition.onstart')
@DocsEditable
Stream<Event> get onStart => startEvent.forTarget(this);
factory SpeechRecognition() {
return JS('SpeechRecognition',
'new (window.SpeechRecognition || window.webkitSpeechRecognition)()');
}
}
Extends
Interceptor > EventTarget > SpeechRecognition
Static Properties
const EventStreamProvider<Event> audioEndEvent #
static const EventStreamProvider<Event> audioEndEvent = const EventStreamProvider<Event>('audioend')
const EventStreamProvider<Event> audioStartEvent #
static const EventStreamProvider<Event> audioStartEvent = const EventStreamProvider<Event>('audiostart')
const EventStreamProvider<Event> endEvent #
static const EventStreamProvider<Event> endEvent = const EventStreamProvider<Event>('end')
const EventStreamProvider<SpeechRecognitionError> errorEvent #
static const EventStreamProvider<SpeechRecognitionError> errorEvent = const EventStreamProvider<SpeechRecognitionError>('error')
const EventStreamProvider<SpeechRecognitionEvent> noMatchEvent #
static const EventStreamProvider<SpeechRecognitionEvent> noMatchEvent = const EventStreamProvider<SpeechRecognitionEvent>('nomatch')
const EventStreamProvider<SpeechRecognitionEvent> resultEvent #
static const EventStreamProvider<SpeechRecognitionEvent> resultEvent = const EventStreamProvider<SpeechRecognitionEvent>('result')
const EventStreamProvider<Event> soundEndEvent #
static const EventStreamProvider<Event> soundEndEvent = const EventStreamProvider<Event>('soundend')
const EventStreamProvider<Event> soundStartEvent #
static const EventStreamProvider<Event> soundStartEvent = const EventStreamProvider<Event>('soundstart')
const EventStreamProvider<Event> speechEndEvent #
static const EventStreamProvider<Event> speechEndEvent = const EventStreamProvider<Event>('speechend')
const EventStreamProvider<Event> speechStartEvent #
static const EventStreamProvider<Event> speechStartEvent = const EventStreamProvider<Event>('speechstart')
const EventStreamProvider<Event> startEvent #
static const EventStreamProvider<Event> startEvent = const EventStreamProvider<Event>('start')
Constructors
factory SpeechRecognition() #
factory SpeechRecognition() {
return JS('SpeechRecognition',
'new (window.SpeechRecognition || window.webkitSpeechRecognition)()');
}
Properties
SpeechGrammarList grammars #
SpeechGrammarList grammars
final int hashCode #
Get a hash code for this object.
All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator ==. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.
If a subclass overrides hashCode it should override the
equality operator as well to maintain consistency.
int get hashCode => Primitives.objectHashCode(this);
final Events on #
This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
Events get on => new Events(this);
final Stream<Event> onAudioEnd #
@DomName('SpeechRecognition.onaudioend')
@DocsEditable
Stream<Event> get onAudioEnd => audioEndEvent.forTarget(this);
final Stream<Event> onAudioStart #
@DomName('SpeechRecognition.onaudiostart')
@DocsEditable
Stream<Event> get onAudioStart => audioStartEvent.forTarget(this);
final Stream<Event> onEnd #
@DomName('SpeechRecognition.onend')
@DocsEditable
Stream<Event> get onEnd => endEvent.forTarget(this);
final Stream<SpeechRecognitionError> onError #
@DomName('SpeechRecognition.onerror')
@DocsEditable
Stream<SpeechRecognitionError> get onError => errorEvent.forTarget(this);
final Stream<SpeechRecognitionEvent> onNoMatch #
@DomName('SpeechRecognition.onnomatch')
@DocsEditable
Stream<SpeechRecognitionEvent> get onNoMatch => noMatchEvent.forTarget(this);
final Stream<SpeechRecognitionEvent> onResult #
@DomName('SpeechRecognition.onresult')
@DocsEditable
Stream<SpeechRecognitionEvent> get onResult => resultEvent.forTarget(this);
final Stream<Event> onSoundEnd #
@DomName('SpeechRecognition.onsoundend')
@DocsEditable
Stream<Event> get onSoundEnd => soundEndEvent.forTarget(this);
final Stream<Event> onSoundStart #
@DomName('SpeechRecognition.onsoundstart')
@DocsEditable
Stream<Event> get onSoundStart => soundStartEvent.forTarget(this);
final Stream<Event> onSpeechEnd #
@DomName('SpeechRecognition.onspeechend')
@DocsEditable
Stream<Event> get onSpeechEnd => speechEndEvent.forTarget(this);
final Stream<Event> onSpeechStart #
@DomName('SpeechRecognition.onspeechstart')
@DocsEditable
Stream<Event> get onSpeechStart => speechStartEvent.forTarget(this);
Operators
bool operator ==(other) #
The equality operator.
The default behavior for all Objects is to return true if and
only if this and
other are the same object.
If a subclass overrides the equality operator it should override
the hashCode method as well to maintain consistency.
bool operator ==(other) => identical(this, other);
Methods
void abort() #
@DomName('SpeechRecognition.abort')
@DocsEditable
void abort() native;
bool dispatchEvent(Event evt) #
@DomName('SpeechRecognition.dispatchEvent')
@DocsEditable
bool dispatchEvent(Event evt) native;
dynamic noSuchMethod(Invocation invocation) #
noSuchMethod is invoked when users invoke a non-existant method
on an object. The name of the method and the arguments of the
invocation are passed to noSuchMethod in an Invocation.
If noSuchMethod returns a value, that value becomes the result of
the original invocation.
The default behavior of noSuchMethod is to throw a
noSuchMethodError.
dynamic noSuchMethod(Invocation invocation) {
throw new NoSuchMethodError(
this,
_symbolToString(invocation.memberName),
invocation.positionalArguments,
_symbolMapToStringMap(invocation.namedArguments));
}
void start() #
@DomName('SpeechRecognition.start')
@DocsEditable
void start() native;
void stop() #
@DomName('SpeechRecognition.stop')
@DocsEditable
void stop() native;
String toString() #
Returns a string representation of this object.
String toString() => Primitives.objectToString(this);
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) #
@JSName('addEventListener')
@DomName('SpeechRecognition.addEventListener')
@DocsEditable
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) #
@JSName('removeEventListener')
@DomName('SpeechRecognition.removeEventListener')
@DocsEditable
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;