2016-11-07 8 views

ответ

1

Я проверил ваш код на моей стороне, и я не могу воспроизвести вашу проблему. Поскольку ваш код не завершен, я добавил код останова самостоятельно и теперь может успешно работать. Пожалуйста, сравните фрагмент кода, чтобы узнать, что что-то не так с вашим кодом. Вы также можете запустить следующую простую демонстрацию на своем компьютере, которая может хорошо работать на моей машине, чтобы убедиться, что это проблема с машинной средой. Моя тестовая среда окна 10 сборки 14393.

XAML код

<MediaElement x:Name="mediaElement" 
     CurrentStateChanged="MediaElement_CurrentStateChanged" Height="200" Width="300" AutoPlay="False"/> 
    <Button x:Name="btntest" Click="btntest_Click" Content=" media close test"></Button> 

код за

private async void btntest_Click(object sender, RoutedEventArgs e) 
    { 
     if (mediaElement.CurrentState.Equals(MediaElementState.Playing)) 
     { 
      mediaElement.Stop(); 
     } 
     else 
     { 
      try 
      { 
       var sin = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); 
       string texto = "hello world"; 
       SpeechSynthesisStream stream= await sin.SynthesizeTextToStreamAsync(texto);     
       // Send the stream to the media object. 
       mediaElement.AutoPlay = true; 
       mediaElement.SetSource(stream, stream.ContentType); 
       mediaElement.Play(); 
      } 
      catch (System.IO.FileNotFoundException) 
      { 
       var messageDialog = new Windows.UI.Popups.MessageDialog("Media Player not avaliable"); 
       await messageDialog.ShowAsync(); 
      } 
     }