用QuickTime错误使用C#2005加载电影时

我有一个程序,将播放视频“.MOV”从队列中。 如果在队列中没有视频那么“吸引循环”视频重载。 我使用的事件处理程序“qtEventMovieDidEnd”在动画结束时将触发。 当发射此事件处理程序询问是否有在队列中的任何电影,如果不是重新加载吸引环文件,应该发挥它。 我的问题是,当在电影的结尾事件触发它试图重新加载该文件,并抛出一个错误“类型的'System.AccessViolationException'发生在System.Windows.Forms.dll中的一个未处理的异常”。 我可以删除事件处理程序,并通过使用一个按钮单击事件并加载这种方式手动加载任何一部电影,当我这样做,它的作品完美。 错误发送的Visual Studio .NET 2005我的“的Program.cs”文件,并退出。 它停在“Application.Run(新Form1的())。
为什么事件处理程序抛出一个错误,但是当我手动加载一部电影它的伟大工程?
在我的代码的方法:

private void addMovieEventListeners(QTMovie myMovie) { // Make sure a movie is loaded first if (myMovie == null)return; myMovie.EventListeners.Add(QTOLibrary.QTEventClassesEnum.qtEventClassStateChange, QTEventIDsEnum.qtEventMovieDidEnd, null, null); } public void PlayMovie(string movie) { axQTControl1.URL = movie; addMovieEventListeners(axQTControl1.Movie); axQTControl1.Movie.Play(1.0); frm1.lblMoviePlaying.Text = axQTControl1.Movie.URL; } private void axQTControl1_QTEvent(object sender, _IQTControlEvents_QTEventEvent e) { if (e.eventID == (int)QTEventIDsEnum.qtEventMovieDidEnd) { axQTControl1.Movie.EventListeners.RemoveAll(); //MessageBox.Show("Movie Ended"); PlayMovie(@"C:\AttractLoop\AttractLoop.mov"); } }

分类:。净 时间:2015-03-14 人气:0
本文关键词: .NET的QuickTime
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.170 (s). 10 q(s)