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();
有帮助吗?

解决方案

Make sure you have added the capability ID_CAP_SPEECH_RECOGNITION to the application manifest (WMAppManifest.xml).

其他提示

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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top