1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
private SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
//--------Beim laden aufrufen----------
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
Grammar grammar = new Grammar("grammar.xml", "Befehle");
recognizer.UnloadAllGrammars();
recognizer.LoadGrammar(grammar);
//--------------------------------------
private void btnListen_Click(object sender, EventArgs e) {
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
private void btnStop_Click(object sender, EventArgs e) {
recognizer.RecognizeAsyncCancel();
}
[DllImport("user32.dll")]
public static extern void LockWorkStation();
private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) {
if (e.Result.Text == "Schließen") {
recognizer.Dispose();
this.Close();
} else if (e.Result.Text == "Sperren") {
LockWorkStation();
}
}
-----------------XML-Datei-------------------
<grammar xmlns="http://www.w3.org/2001/06/grammar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/06/grammar
http://www.w3.org/TR/speech-grammar/grammar.xsd"
xml:lang="de-DE" version="1.0">
<rule id="Befehle" scope="public">
<one-of>
<item>Schließen</item>
<item>Sperren</item>
</one-of>
</rule>
</grammar>
|