如何在WPF播放文件中删除MediaElement后的文件夹

时间:2016-05-31 03:00:57

标签: wpf mediaelement

我正在MediaElement中测试WPF

但经常Directory.Delete功能显示错误。

我不知道为什么会发生错误。

  MediaElement mediatest = new MediaElement();
  mediatest.LoadedBehavior = MediaState.Manual;
  root.Children.Add(mediatest);

mediatest.BeginInit();
mediatest.Source = null;
mediatest.Source = new Uri(MediaSrc);
mediatest.EndInit();.
mediatest.Play();

stop()
mediatest.Stop();
mediatest.Close();             
mediatest.Source = null;            
mediatest = null;
root.Children.Clear();
System.IO.Directory.Delete(System.IO.Path.Combine(Environment.CurrentDirectory, @"sound"), true);

2 个答案:

答案 0 :(得分:0)

尝试使用以下方法代替Directory.Delete

public static void DeleteDirectory(string target_dir)
{
    string[] files = Directory.GetFiles(target_dir);
    string[] dirs = Directory.GetDirectories(target_dir);

    foreach (string file in files)
    {
        File.SetAttributes(file, FileAttributes.Normal);
        File.Delete(file);
    }

    foreach (string dir in dirs)
    {
        DeleteDirectory(dir);
    }

    Directory.Delete(target_dir, false);
}

答案 1 :(得分:0)

我尝试了,但出现了同样的问题。我正试图检查它。

mediatest.Stop();
mediatest.Close();             
mediatest.Source = null;            
mediatest = null;
root.Children.Clear();
GC.Collect(); 

但同样的问题又出现了。 然后我改变了源

GC.Collect(); 
Thread.Sleep(500);

现在到目前为止我还没有看到错误。