Нет ошибок или исключений, но код не воспроизводит аудиофайл в приложении WPF - PullRequest
0 голосов
/ 02 августа 2020

Я использую этот код для воспроизведения аудиофайла (.wav) в приложении WPF, написанном на C#. Это мой код для воспроизведения аудиофайла:

Uri uri = new Uri(@"C:\Users\naseem\source\repos\ChatBotAssistant\ChatBotAssistant\bin\Debug\Speech.wav");
MediaPlayer player = new MediaPlayer();
player.Open(uri);
player.Play();

Нет ошибок и исключений, но аудиофайл не воспроизводится.

1 Ответ

0 голосов
/ 03 августа 2020

MediaPlayer не вызовет исключения, если файл мультимедиа не может быть открыт. В общем, вы должны использовать следующие события, чтобы избежать проблем с воспроизведением и загрузкой для MediaPlayer.

  • MediaOpened - происходит при открытии носителя.
  • Media Failed - Возникает при обнаружении ошибки.

Когда запускается MediaOpened, вы можете безопасно вызывать Play, а когда MediaFailed запускается, вы можете обрабатывать ошибки, так как носитель не загружается. ExceptionEventArgs будет содержать Exception, которое произошло.

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
   var uri = new Uri(@"C:\Users\naseem\source\repos\ChatBotAssistant\ChatBotAssistant\bin\Debug\Speech.wav");
   var player = new MediaPlayer();
   player.MediaOpened += OnMediaOpened;
   player.MediaFailed += OnMediaFailed;
   player.Open(uri);
}

private void OnMediaOpened(object sender, EventArgs e)
{
   var player = (MediaPlayer)sender;
   player.Play();
}

private void OnMediaFailed(object sender, ExceptionEventArgs e)
{
   var exception = e.ErrorException;
   // Handle exception
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...