我想了解我的问题来自哪里......我的应用在将第三次视频加载到VLC后总是崩溃。我没有收到错误信息或任何它只是冻结的信息。
继承我的代码来播放文件:
private void launchVLC (string url, string title)
{
// Si le lecteur est déjà entrain de jouer on stop
if (isPlaying)
{
vlcPlayer.playlist.stop();
vlcPlayer.playlist.items.clear();
isPlaying = false;
}
try
{
// Requête GET vers videos.php pour obtenir le lien direct vers la vidéo
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.AllowAutoRedirect = true;
// On récupère le lien
HttpWebResponse myResp = (HttpWebResponse)req.GetResponse();
mediaUrl = myResp.ResponseUri.ToString();
// On récupére le titre de la vidéo
Uri uri = new Uri(mediaUrl);
tabPlayer.Text = System.IO.Path.GetFileName(uri.LocalPath);
// Switch sur la tab ou ce trouve vlc
tabBrowser.Hide();
tabControl1.SelectedIndex = 1;
tabPlayer.Show();
// Lancement de la vidéo
vlcPlayer.playlist.add(mediaUrl, title, null);
vlcPlayer.playlist.play();
isPlaying = true;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
注意:每次它都是不同的视频,因此它不能是一个损坏的文件或由于该文件而发生的w / e。
我正在使用VS2017并下载了最新的VLC。
答案 0 :(得分:0)
我有同样的问题。
然后我检查了任务栏上的内存使用情况,它正在增加。当内存达到极限时,该应用程序不会引起您的注意。
您需要运行一个线程来检查正在运行的进程的内存。
处置播放器后,运行GC.collect()
。
答案 1 :(得分:0)
我有一个类似的问题,(我只有一个el),但我是这样解决的:
this.axVLCPlugin21.playlist.stop();
this.axVLCPlugin21.playlist.items.clear();
this.axVLCPlugin21.playlist.add(m_MRL, "live", ms_options);
this.axVLCPlugin21.playlist.play();