Passive Speech Listening on Windows Phone
I was running some passive speech recognition code in a Windows Phone project and I kept getting the following error
The speech privacy policy was not accepted prior to attempting a speech recognition
I was using the non-UI recognizer for passive listening on a thread.
SpeechRecognizer spchRecog = new SpeechRecognizer();
SpeechRecognitionResult spchResult = await spchRecog .RecognizeAsync();
instead of
SpeechRecognitionResult spchResult = await spchRecog .RecognizeWithUIAsync();
Found the privacy policy error on MSDN, and implemented the recommend exception handling.
In the exception handling code on MSDN, the default error message shown to the user is
“You will need to accept the speech privacy policy in order to use speech recognition in this app.”
Now imagine my mom using this application and she gets this message. There is no reference to what does it mean by speech privacy policy. My mom will get confused, and she does use a Windows Phone.
Actually, you have to just let the user know to enable the speech recognition service by navigating to
Home->Settings->Speech->Enable Speech Recognition Service
Ideally, the error message should automatically navigate the user to the appropriate setting. But that’s a long shot. In the short term, I modified the error message to
“In order to use speech recognition, you will need to enable the speech recognition service by navigating to Home Page->Settings->Speech->Enable Speech Recognition Service.”
Good enough for my mom for now. If you see any cryptic error message regarding speech privacy policy, first check whether the Speech Recognition Service is enabled on the phone or not.
That’s it! The recognizer to work like a charm.
Thanks,
Tejaswi