‘SAPI non implementa l’eccezione di selezione alfabeto fonetico’

Ogni volta che cerco di codificare qualsiasi programma di riconoscimento vocale nel mio laptop, ottengo sempre gli stessi messaggi menzionati di seguito. Posso sempre compilare il mio codice e far funzionare l’applicazione Windows Form. Ma il problema è che il programma non rileva il mio voce..E il programma non funzionerà ..

Sono molto sicuro che i miei codici funzionino bene, in quanto solitamente prendo i codici dai video di YouTube come: https://www.youtube.com/watch?v=KR0-UYUGYgA e molti altri .. Sto usando .NET framework 4 client profile per i miei progetti .. Faccio riferimento solo a “system.speech” … quale potrebbe essere il mio problema?

Messaggi di debug che ottengo:

speaker.vshost.exe Information: 0 : SAPI does not implement phonetic alphabet selection. A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Speech.dll A first chance exception of type 'System.InvalidOperationException' occurred in System.Speech.dll A first chance exception of type 'System.InvalidOperationException' occurred in System.Speech.dll A first chance exception of type 'System.InvalidOperationException' occurred in System.Speech.dll 

Esempio di codice che ho provato:

 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Speech.Synthesis; using System.Speech.Recognition; using System.Threading; using System.Threading.Tasks; namespace speaker { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SpeechSynthesizer sSynth = new SpeechSynthesizer(); PromptBuilder pBuilder = new PromptBuilder(); SpeechRecognitionEngine sRecognize = new SpeechRecognitionEngine(); private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { pBuilder.ClearContent(); pBuilder.AppendText(textBox1.Text); sSynth.Speak(pBuilder); } private void button2_Click(object sender, EventArgs e) { button2.Enabled = false; button2.Enabled = true; Choices sList = new Choices(); sList.Add(new string[]{"hello","test","it works","how","are","you","today"}); Grammar gr = new Grammar(new GrammarBuilder(sList)); try { sRecognize.RequestRecognizerUpdate(); sRecognize.LoadGrammar(gr); sRecognize.SpeechRecognized += new EventHandler(sRecognize_SpeechRecognized); sRecognize.SetInputToDefaultAudioDevice(); sRecognize.RecognizeAsync(RecognizeMode.Multiple); } catch { return; } } void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { //if (e.Result.Confidence >= 0.3) MessageBox.Show("speech is:" + e.Result.Text.ToString()); } } } 

Hai bisogno

  gram.Culture = New System.Globalization.CultureInfo("en-GB") 

Per maggiori dettagli vedi

http://www.vbforums.com/showthread.php?751297-RESOLVED-(VS2102)-Speech-Recognition-Suddenly-Stopped