在WinRT设备上使用语音合成时出现未授权访问异常
本文关键字:授权 异常 访问 语音合成 WinRT | 更新日期: 2023-09-27 18:00:54
我有一个C#Windows应用商店应用程序,它可以获得一个系统。每当我尝试使用语音合成时出现未经授权的访问异常:
SpeechSynthesisStream stream = await this._tts.SynthesizeTextToStreamAsync("Hello ragdoll man!");
// Send the stream to the media object.
this._mediaElement.SetSource(stream, stream.ContentType);
this._mediaElement.Play();
当我调用SynthesizeTextToStreamAsync((时,异常出现在第一行。这不是一个软件包清单功能问题,就像一些人在WindowsPhone8:上遇到的那样
初始化SpeechSynthesizer 时出现UnauthorizedAccessException
我这么说是因为首先,Windows应用商店应用程序清单没有ID_CAP_SPEECH_RECOGNITION功能,其次,作为测试,我检查了功能选项卡上的所有可用功能框,但我仍然得到异常。
是什么导致了这个错误,我该如何修复它?
在一个新的空Windows 8.1应用程序项目中,这对我来说很好:
private async void UIElement_OnTapped(object sender, TappedRoutedEventArgs e)
{
// The media object for controlling and playing audio.
MediaElement mediaElement = this.media;
// The object for controlling the speech synthesis engine (voice).
var synth = new SpeechSynthesizer();
// Generate the audio stream from plain text.
SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello World");
// Send the stream to the media object.
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}