diff --git a/FreePIE.Core.Plugins/SpeechPlugin.cs b/FreePIE.Core.Plugins/SpeechPlugin.cs index 4aa286ce..948b6d58 100644 --- a/FreePIE.Core.Plugins/SpeechPlugin.cs +++ b/FreePIE.Core.Plugins/SpeechPlugin.cs @@ -15,6 +15,7 @@ public class SpeechPlugin : Plugin private SpeechRecognitionEngine recognitionEngine; private Dictionary recognizerResults; + private bool recognitionActive = true; public override object CreateGlobal() { @@ -34,6 +35,11 @@ public override void Stop() } } + public void EnableRecognition(bool enable) + { + recognitionActive = enable; + } + public void SelectVoice(string name) { EnsureSynthesizer(); @@ -87,10 +93,14 @@ private bool EnsureRecognizer() recognitionEngine.SpeechRecognized += (s, e) => { - var info = recognizerResults[e.Result.Text]; - - if (e.Result.Confidence >= info.Confidence) - info.Result = true; + if (recognitionActive) + { + var info = recognizerResults[e.Result.Text]; + + if (e.Result.Confidence >= info.Confidence) + info.Result = true; + } + }; } @@ -158,5 +168,10 @@ public void selectVoice(string name) { plugin.SelectVoice(name); } + + public void enableRecognition(bool enable) + { + plugin.EnableRecognition(enable); + } } } \ No newline at end of file