我使用此代码在用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
}