You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 3.1 WinForm嵌入Lib.VLC如何实现视频循环、定时关闭及停止后台播放

解决方案

问题根源说明

你遇到的两个问题核心原因分别是:

  • 关闭窗体后仍后台播放:VLC相关的LibVLC、MediaPlayer都是非托管资源,局部变量在窗体关闭时不会被主动释放,后台播放线程会继续运行
  • 定时关闭需求:可以通过WinForm原生的UI计时器实现,避免跨线程异常

实现步骤

第一步:声明类级别成员

将VLC相关对象和计时器改为窗体类的全局成员,不要作为局部变量声明,方便后续资源释放:

// 在你的窗体类内部声明
private LibVLC _libvlc;
private MediaPlayer _mediaPlayer;
private VideoView _videoView;
private System.Windows.Forms.Timer _autoStopTimer;

第二步:注册窗体关闭事件释放资源

在窗体的FormClosing事件中主动停止播放、释放所有非托管资源,彻底关闭后台播放:

private void PlayerForm_FormClosing(object sender, FormClosingEventArgs e)
{
    // 停止播放并释放播放器资源
    if (_mediaPlayer != null)
    {
        if (_mediaPlayer.IsPlaying)
        {
            _mediaPlayer.Stop();
        }
        _mediaPlayer.Dispose();
    }
    // 释放LibVLC核心资源
    _libvlc?.Dispose();
    // 释放计时器资源
    _autoStopTimer?.Dispose();
}

注意:需要提前在窗体构造函数或者属性面板中绑定FormClosing事件到上述方法

第三步:修改初始化逻辑,添加定时关闭功能

将原来的初始化逻辑替换为下面的代码,按需修改计时时长即可实现自动关闭:

private void PlayerForm_Load(object sender, EventArgs e)
{
    Core.Initialize();
    _libvlc = new LibVLC();
    // 初始化播放器控件
    _videoView = new VideoView();
    _mediaPlayer = new MediaPlayer(_libvlc);
    _videoView.MediaPlayer = _mediaPlayer;
    _videoView.Dock = DockStyle.Fill;
    Controls.Add(_videoView);

    // 加载播放资源
    var uri = new Uri(@"C:\vid.3gp");
    var media = new Media(_libvlc, uri, ":input-repeat=65535");
    _mediaPlayer.Play(media);
    // Media对象加载完成后即可释放,不影响播放
    media.Dispose();

    // 全屏设置
    this.FormBorderStyle = FormBorderStyle.None;
    this.Size = Screen.PrimaryScreen.Bounds.Size;
    this.Location = Screen.PrimaryScreen.Bounds.Location;

    // 初始化自动关闭计时器,示例为播放30分钟后自动关闭
    _autoStopTimer = new System.Windows.Forms.Timer();
    // 计时单位为毫秒,可按需修改:时长=分钟数*60*1000
    _autoStopTimer.Interval = 30 * 60 * 1000;
    _autoStopTimer.Tick += (s, args) =>
    {
        // 关闭窗体会自动触发FormClosing事件的资源释放逻辑
        this.Close();
    };
    _autoStopTimer.Start();
}

内容的提问来源于stack exchange,提问作者Malik Mehmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:45:05