媒体播放器 mp3 不工作 wpf

Mer*_*ial 4 wpf mp3

我在 WPF 应用程序中遇到 MediaPlayer 类的问题。
我的项目是这样的:

项目结构

问题是:当我的 AboutDialog 被初始化并出现时,它不播放 AboutDialogSound.mp3。我认为问题是 Uri 字符串格式,我尝试更改它但我仍然没有工作。

对不起,我英语不好。请帮我解决这个问题。提前致谢。

har*_*r07 5

至少,您的代码中有两个问题,关于您如何尝试使用MediaPlayer以下方法播放 mp3 文件:

  1. 您已经怀疑的主要问题是文件的错误路径。相对路径是指相对于可执行文件。在开发阶段,它在bin\debug文件夹内。所以 mp3 文件的路径应该是"../../AboutDialogSound.mp3".
  2. 另一个问题是将MediaPlayer对象声明为局部变量。通过这样做,对象将在声明变量的方法(AboutDialog在本例中为构造函数)完成后不久被垃圾收集。所以如果你设法解决了第一个问题,你会听到音频文件播放了一会儿,然后突然停止,因为MediaPlayer播放它是 GC ed。将其声明为全局变量而不是本地变量。

提示:要检查失败MediaPlayer(例如由于路径错误而找不到文件),请尝试订阅该MediaFailed事件。因为MediaPlayer不抛出异常,而是触发MediaFailed事件。

public partial class AboutDialog
{
    private MediaPlayer player;

    public AboutDialog()
    {
        player = new MediaPlayer();
        player.MediaFailed += (o, args) =>
                                  {
                                      MessageBox.Show("Media Failed!!");
                                  };
        player.Open(new Uri("../../AboutDialogSound.mp3", UriKind.RelativeOrAbsolute));
        player.Play();
    }
    .....
}
Run Code Online (Sandbox Code Playgroud)

参考:http : //www.wpf-tutorial.com/audio-video/playing-audio/