没有错误或异常,但代码不在WPF应用程序中播放音频文件



我使用此代码在用C#编写的WPF应用程序中播放音频(.wav(文件。这是我播放音频文件的代码:

Uri uri = new Uri(@"C:UsersnaseemsourcereposChatBotAssistantChatBotAssistantbinDebugSpeech.wav");
MediaPlayer player = new MediaPlayer();
player.Open(uri);
player.Play();

没有错误,也没有例外,但它不播放音频文件。

当无法打开媒体文件时,MediaPlayer不会引发异常。通常,您应该使用以下事件来避免MediaPlayer的播放和加载问题。

  • MediaOpened-在打开媒体时发生
  • 介质失败-遇到错误时发生

MediaOpened被激发时,您可以安全地调用Play,而当MediaFailed被激发时您可以处理错误,因为那时没有加载介质。ExceptionEventArgs将包含发生的Exception

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
var uri = new Uri(@"C:UsersnaseemsourcereposChatBotAssistantChatBotAssistantbinDebugSpeech.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
}

最新更新