public static void StartListening() { #if !UNITY_EDITOR var intent = CreateIntent(); AndroidUtils.RunOnUiThread(() => { speechRecognizerInstance.Call("startListening", intent); }); #else Debug.Log("start listening is ignored on Editor"); #endif }
public static void Construct(BaseRecognitionListenerProxy listenerProxy) { #if !UNITY_EDITOR AndroidUtils.RunOnUiThread(() => { activityContext = AndroidUtils.GetActivityContext(); speechRecognizerClass = new AndroidJavaClass("android.speech.SpeechRecognizer"); if (!speechRecognizerClass.CallStatic <bool>("isRecognitionAvailable", activityContext)) { UnityLooper.Enqueue(() => { Debug.LogError("AndroidSpeechRecognizer: Recognition is not available"); }); return; } speechRecognizerInstance = speechRecognizerClass.CallStatic <AndroidJavaObject>("createSpeechRecognizer", activityContext); if (speechRecognizerInstance == null) { UnityLooper.Enqueue(() => { Debug.LogError("AndroidSpeechRecognizer: Recognition is not available"); }); return; } speechRecognizerInstance.Call("setRecognitionListener", listenerProxy); UnityLooper.Enqueue(() => { Debug.Log("android speech recognizer constructed"); }); constructed = true; }); #else Debug.Log("skipping initialization of Android Speech Recognizer on Editor"); #endif }