什么在这里不起作用? C#UWP SPEECH

时间:2017-10-22 19:00:02

标签: c# .net uwp text-to-speech speech

我这里只是代码:

using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using System.Diagnostics;  
namespace Zad3
{

public sealed partial class MainPage : Page
{

    public MainPage()
    {

        this.InitializeComponent();
    }

    private async void Button_Click(object sender, RoutedEventArgs e)
    {

        String text = System.IO.File.ReadAllText(@"C:\Users\source\repos\Lista3\zad3.txt");
        if (text != null)
        {
            MediaElement mediaElement = new MediaElement();
            var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
            Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync(text);
            mediaElement.SetSource(stream, stream.ContentType);
            mediaElement.Play();
        }
    }

}

}

我在xaml中创建了一个按钮。 当我点击按钮我的程序关闭... 当我改变正常字符串的文本(np。“你好”)时,我的程序工作得很好。

我该如何修理? 请帮忙。我试图以百万种方式做到这一点。我用这种语言打招呼。

2 个答案:

答案 0 :(得分:1)

您无权从UWP @"C:\Users\source\repos\Lista3\zad3.txt"访问此文件。它不在应用程序的本地存储中。

要访问该文件,您必须使用FileOpenPicker向用户请求权限。这是一个启动的链接:

https://docs.microsoft.com/en-us/windows/uwp/files/quickstart-using-file-and-folder-pickers

答案 1 :(得分:0)

尝试将文件放在User文件夹之外的其他位置。

String text = System.IO.File.ReadAllText(@"C:\NewFolder\zad3.txt");