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

时间:2012-02-27 20:15:50

标签: 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);
}   

思考?

1 个答案:

答案 0 :(得分:8)

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