Мое приложение работает отлично в течение многих месяцев, но теперь его не работает. Когда я обрабатываю исключение, я получаю: MediaElement.currentState is Closed
. И получите результат: «Media Player недоступен». Этот мой код:MediaElement текущее состояние close Необоснование
0
A
ответ
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();
}
}