Почему при нажатии кнопки в моем приложении C # / XAML UWP не воспроизводится звук? - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь использовать C # и XAML для создания простого приложения для универсальной платформы Windows (UWP).Когда я запускаю его, моя программа должна отображать кнопку, которая будет воспроизводить звук, используя синтез речи при нажатии.Кнопка появляется, когда я запускаю программу, но ничего не делает вместо следования команде.

Вот код "mainpage.xaml", код дизайна пользовательского интерфейса с некоторыми параметрами кнопки:

<Page
x:Class="App.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
    <Button Content="Hello world!" HorizontalAlignment="Center" VerticalAlignment="Center"  Margin="0,0,0,0"/>


</Grid>

Вот код для «MainPage.xaml.cs», который содержит обработчик события для кнопки:

using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;


namespace App
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }
        //The event handler
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            MediaElement mediaElement = new MediaElement();
            var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
            Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello, World!");
            mediaElement.SetSource(stream, stream.ContentType);
            mediaElement.Play();
        }
    }
}

Я хотел бы знать:

  1. Я что-то упустил в своей программе?Если да, то что?
  2. Влияет ли текущее устройство воспроизведения, выбранное для моего компьютера, на воспроизведение звука?
  3. Проблема вызвана обработчиком событий в целом или самой командой?

Информация, которая может быть полезна:

1 Ответ

0 голосов
/ 30 сентября 2018

Вам необходимо подключить событие Click и его обработчик.Либо в XAML, либо в коде позади.

В XAML,

<Button Click=“Button_Click” ...

В коде позади (вам нужно дать кнопке имя типа btn)

btn.Click += Button_Click;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...