为什么我的声音会在我的WPF应用程序中消失?

Dav*_*vid 3 c# wpf audio-player

所以这很奇怪......在我的C#,WPF应用程序中,我有一个按钮,当点击它时,播放一个简短的音频剪辑,作为帮助文本.大约50%的时间它工作得很漂亮...另外50%它被切断了,我无法弄清楚原因.甚至它被切断的点也各不相同.

我想,也许,代码超出了范围或者某些东西然后停止所以我把它放在另一个线程中...根本不起作用...所以现在我不知道该怎么做.

这是我的按钮点击事件的代码.

try
{
    string path = System.IO.Path.Combine(ConfigurationManager.AppSettings["MediaPath"], Global.Language);
    path = System.IO.Path.Combine(path, "visitorTypes.mp3");

    if (Global.PlaySound)
    {
        string p = path.ToString();
        MediaPlayer mplayer = new MediaPlayer();
        mplayer.Open(new Uri(p, UriKind.Absolute));
        mplayer.Play();
    }

    //a bunch of other code

}
catch (Exception ex)
{
    Util.HandleError(ex);
}   
Run Code Online (Sandbox Code Playgroud)

思考?

And*_*der 8

可能是mplayer被垃圾收集,因为它具有本地范围.尝试使媒体播放器对象成为具有应用程序生命周期的类的成员变量.