前段时间用QuartzTypeLib 编写了一个视频播放器。现在添加视频播放列表中文件的删除功能。可总是有问题,非常希望得到您的帮助,不管能不能帮到我,进来的朋友都谢谢您们的关注。谢谢。**********
使用File.Delete(delFile)执行文件删除后,未提示异常,播放目录下仍然存在该文件,用其它播放器打开,但不可播放,播放时提示“打开失败”。
再次使用File.Delete(delFile)执行文件删除,提示异常:“对路径“D:\media\video\1.wmv”的访问被拒绝”
直到完全退出应用程序,目录下的文件才被真正删除。我想是不是因为在播放过程中视频文件驻留内存没有完全释放掉造成的删除失败。在删除文件前调用了Clearup清除对象。
        private void CleanUp()
        {  
            if (m_objMediaControl != null)
            {
                m_objMediaControl.Stop();
                m_objMediaPosition.CurrentPosition = 0;
                m_objMediaControl = null; 
                 
            }      
            if (m_objMediaEventEx != null)
            {
                m_objMediaEventEx.SetNotifyWindow(0, 0, 0);
                m_objMediaEventEx = null; 
            }
            if (m_objMediaEvent != null)
            {
                m_objMediaEvent = null;
            }       
            if (m_objVideoWindow != null)
            {
                m_objVideoWindow.Visible = 0;
                m_objVideoWindow.Owner = 0;                
                m_objVideoWindow = null; 
            }         
            if (m_objMediaPosition != null)
            {
                m_objMediaPosition = null;
            } 
            if (m_objBasicAudio != null)
            {                
                m_objBasicAudio = null;
            }          
            if (m_objFilterGraph != null)
            {
                m_objFilterGraph.Stop();  
                m_objFilterGraph = null;
            }
        }