问题
I'm using Microsofts SpeechSynthesizer to create audio output for my Windows Phone app. I use this code
private async void TextToSpeech_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
SpeechSynthesizer synth = new SpeechSynthesizer();
await synth.SpeakTextAsync("You have a meeting with Peter in 15 minutes.");
}
I get this exception:
{System.UnauthorizedAccessException: Access is denied.
at Windows.Phone.Speech.Synthesis.SpeechSynthesizer..ctor()
at NerdQuiz.Question.<TextToSpeech_Tap>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(Object state)}
I found out that the error occurs at
new SpeechSynthesizer();
回答1:
Make sure you have added the capability ID_CAP_SPEECH_RECOGNITION
to the application manifest (WMAppManifest.xml).
回答2:
In Windows Universal Apps (UWP apps), Using the SpeechSynthetizer requires the Microphone capability. (I don't know why, but once enabled I didn't get the exception anymore)
来源:https://stackoverflow.com/questions/19344253/unauthorizedaccessexception-when-initializing-speechsynthesizer