Каталог не пуст для mediaelement в данный момент воспроизводит видео
Привет,
Я сохраняю видео в базе данных как blob-объект и извлекаю его обратно при первой загрузке приложения. Это означает, что в App_Startup я получу blob-объект и преобразую байт в видеофайл, установив путь к видео в общедоступную строковую переменную, например D:\data\video.mpeg
Видео будет воспроизводиться на PageMain. xaml в App_Exit, я удалю папку D:\data и все содержимое на нем. Мой код, который я использую, таков:-
Dim files() As String = Directory.GetFiles(target_dir) Dim dirs() As String = Directory.GetDirectories(target_dir) Try For Each filing As String In files File.SetAttributes(filing, FileAttributes.Temporary) File.Delete(filing) Thread.Sleep(50) Next filing For Each dir As String In dirs DeleteDirectory(dir) Next dir Directory.Delete(target_dir, False) Exit Sub Catch eio As IOException Directory.Delete(target_dir, False) Exit Sub Catch ea As UnauthorizedAccessException Directory.Delete(target_dir, False) Exit Sub End Try
Итак, во время воспроизведения видео я собираюсь завершить работу приложения через Alt+F4.. и приложение выключено, но папка D:\data он все еще там, но файл video.mpeg уже удален. Мой улов журнала "4/7/2016 2: 19: 30 AM-ERRO- [APPLICATION] ошибка возникает при Application_Exit. Ex-каталог не пуст."
Я пытаюсь найти любой способ прочитать весь байт видео и попытаться сделать поток MediaELement из байта, но ни один из них не был успешно найден работающим на странице Windows.
Как освободиться от источника MediaElement, прежде чем вызвать функцию удаления каталога?
Что я уже пробовал:
## Первая попытка
Для каждой страницы pg As в App. Current.Окна
Если ПГ.Gettype () - Это GetType (PageMain), То
Если нет (IsNothing(DirectCast(pg, PageMain). my_media.Источник)) Затем
DirectCast(pg, PageMain). my_media.Стоп()
DirectCast(pg, PageMain). my_media.Источник = Ничего
Конец, Если
Конец, Если
Следующая страница
## Вторая попытка
Если Файл.Существует(vids_path) Затем
Dim newmed как новый Медиаэлемент
ньюмед.Source = New Uri(vids_path, UriKind.Родственник)
my_media.Источник = newmed.Источник
newmed = ничего
Конец, Если