所以这很奇怪...在我的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);
}
思考?
答案 0 :(得分:8)
可能是 mplayer 被垃圾收集,因为它具有本地范围。尝试使媒体播放器对象成为具有应用程序生命周期的类的成员变量。