asdxz Ответов: 1

Vlccontrol. media делает мою программу застрявшей через некоторое время


Привет

Я пишу программу в vb.net
В моей программе мне нужно сделать так, чтобы видео в определенной папке появлялись одно за другим.
Для того, чтобы делать, что я с помощью VLC версии 1.1.1.1 с vlcControl объекта
, все работает нормально, но через несколько часов программа застревает-она не отвечает

Линия, где он застрял, - это :
MoviOfSlidePicMovi1.Media = VlcMedia


Чтобы решить эту проблему я попытался освободить память с помощью этих предложений:
 Public MoviOfSlidePicMovi1 As VlcControl
Public VlcMedia As Vlc.DotNet.Core.Medias.PathMedia
 If (MoviOfSlidePicMovi0.Media IsNot Nothing) Then
   MoviOfSlidePicMovi0.Media.Dispose()
  MoviOfSlidePicMovi0.Media = Nothing
 End If
  If (VlcMedia IsNot Nothing) Then
      VlcMedia.Dispose()
       VlcMedia = Nothing
 End If
  VlcMedia = New Vlc.DotNet.Core.Medias.PathMedia(str)
  MoviOfSlidePicMovi0.Media = VlcMedia


когда это не сработало, я попробовал те же самые предложения без предложения dispose:

 Public MoviOfSlidePicMovi1 As VlcControl
Public VlcMedia As Vlc.DotNet.Core.Medias.PathMedia
 If (MoviOfSlidePicMovi0.Media IsNot Nothing) Then
  MoviOfSlidePicMovi0.Media = Nothing
 End If
  If (VlcMedia IsNot Nothing) Then
       VlcMedia = Nothing
 End If
  VlcMedia = New Vlc.DotNet.Core.Medias.PathMedia(str)
  MoviOfSlidePicMovi0.Media = VlcMedia


программа работала лучше ,но все же через несколько часов она застряла

ЗАПИСКА:
Я использую один и тот же объект, чтобы показать все видео-это означает, что я использую один vlc-плеер ,я открываю одно видео, и когда я хочу заменить его, я меняю только свойство media

Как я могу заставить его работать, не вызывая застревания программы через некоторое время ???

Пожалуйста помогите мне это очень срочно для меня

Большое спасибо

Что я уже пробовал:

Я попытался освободить память-так, как я написал в теле вопроса
но это не решило мою проблему

1 Ответов

Рейтинг:
2

User 11061201

Вы должны запускать такие вещи в другом потоке, тогда ваше приложение не будет зависать.
Убедитесь, что вы избавляетесь от экземпляров, которые больше не используются.
Также попробуйте очистить папку %TEMP%.