package com.akjava.gwt.html5.client.speechrecognition; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionAudioEndListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionAudioStartListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionEndListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionErrorListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionNomatchListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionResultListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSoundEndListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSoundStartListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSpeechEndListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSpeechStartListener; import com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionStartListener; import com.google.gwt.core.client.JavaScriptObject; public class SpeechRecognition extends JavaScriptObject{ protected SpeechRecognition(){} public final native static SpeechRecognition create()/*-{ return new webkitSpeechRecognition(); }-*/; public final native static boolean isSupported()/*-{ if($wnd.webkitSpeechRecognition){ return true; }else{ return false; } }-*/; public final native void setContinuous(boolean continuous)/*-{ this.continuous=continuous; }-*/; public final native void setInterimResults(boolean interimResults)/*-{ this.interimResults=interimResults; }-*/; public final native void setLang(String lang)/*-{ this.lang=lang; }-*/; public final native String getLang()/*-{ return this.lang; }-*/; public final native void setMaxAlternatives(int maxAlternatives)/*-{ this.maxAlternatives=maxAlternatives; }-*/; public final native void start()/*-{ this.start(); }-*/; public final native void abort()/*-{ this.abort(); }-*/; public final native void stop()/*-{ this.stop(); }-*/; public final native void setOnResult(SpeechRecognitionResultListener listener)/*-{ this.onresult=function (event) { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionResultListener::onResult(Lcom/akjava/gwt/html5/client/speechrecognition/SpeechRecognitionEvent;)(event); }; }-*/; public final native void setOnError(SpeechRecognitionErrorListener listener)/*-{ this.onerror=function (event) { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionErrorListener::onError(Lcom/akjava/gwt/html5/client/speechrecognition/SpeechRecognitionError;)(event); }; }-*/; public final native void setOnAudioStart(SpeechRecognitionAudioStartListener listener)/*-{ this.onaudiostart=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionAudioStartListener::onAudioStart()(); }; }-*/; public final native void setOnSoundStart(SpeechRecognitionSoundStartListener listener)/*-{ this.onsoundstart=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSoundStartListener::onSoundStart()(); }; }-*/; public final native void setOnSpeechStart(SpeechRecognitionSpeechStartListener listener)/*-{ this.onspeechstart=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSpeechStartListener::onSpeechStart()(); }; }-*/; public final native void setOnSpeechEnd(SpeechRecognitionSpeechEndListener listener)/*-{ this.onspeechend=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSpeechEndListener::onSpeechEnd()(); }; }-*/; public final native void setOnSoundEnd(SpeechRecognitionSoundEndListener listener)/*-{ this.onsoundend=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionSoundEndListener::onSoundEnd()(); }; }-*/; public final native void setOnAudioEnd(SpeechRecognitionAudioEndListener listener)/*-{ this.onaudioend=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionAudioEndListener::onAudioEnd()(); }; }-*/; public final native void setOnNomatch(SpeechRecognitionNomatchListener listener)/*-{ this.onnomatch=function (event) { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionNomatchListener::onNomatch(Lcom/akjava/gwt/html5/client/speechrecognition/SpeechRecognitionEvent;)(event); }; }-*/; public final native void setOnStart(SpeechRecognitionStartListener listener)/*-{ this.onstart=function (e) { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionStartListener::onStart()(); }; }-*/; public final native void setOnEnd(SpeechRecognitionEndListener listener)/*-{ this.onend=function () { listener.@com.akjava.gwt.html5.client.speechrecognition.listeners.SpeechRecognitionEndListener::onEnd()(); }; }-*/; }