我使用此代码在用C#编写的WPF应用程序中播放音频(.wav
)文件。这是我播放音频文件的代码:
Uri uri = new Uri(@"C:\Users\naseem\source\repos\ChatBotAssistant\ChatBotAssistant\bin\Debug\Speech.wav");
MediaPlayer player = new MediaPlayer();
player.Open(uri);
player.Play();
没有错误,也没有异常,但它不会播放音频文件。
最佳答案
当无法打开媒体文件时,MediaPlayer
将不会引发异常。通常,您应该使用以下事件来规避MediaPlayer
的播放和加载问题。
触发
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
}
关于c# - 没有错误或异常,但是代码无法在WPF应用程序中播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63216099/