winform 有办法在事件处理过程中中断事件并处理其他事件吗?
本帖最后由 wlhkane110 于 2014-01-03 10:12:55 编辑
private void mp3play()
{
string src;
foreach (string lrc in mp3lrc)
{
Mp3 mp3 = new Mp3();
src = "../../Ebook/" + Bsrc + "/sound/" + lrc + ".mp3";
mp3.FileName = src;
mp3.play();
while (! mp3.IsEnd())
{
}
}
}
一个播放按钮 mp3lrc是存储用来播放的mp3路径的arraylist
然后发现在播放过程中窗体处于一个不可控的状态 也就是只能等播放完毕后才能做其他操作
那么想问下有没有办法在事件处理过程中还能进行其他操作 监测到其他操作时中断播放 响应其他事件呢?
------解决方案--------------------用线程来操作播放事件吧!需要暂停播放就将线程挂起。
------解决方案--------------------同意楼上的观点,你的播放功能是单线程播放的,在播放过程中,整个窗体也卡了,你的Mp3类也是单线程的。
你可以试试WPF的MediaPlayer类,他会在另外的线程中进行播放,甚至可以同时播放多个。
------解决方案--------------------