当前位置: 首页 > news >正文

测试C#调用Vlc.DotNet组件播放视频

  除了Windows Media Player组件,在百度上搜索到还有不少文章介绍采用Vlc.DotNet组件播放视频,关于Vlc.DotNet的详细介绍见参考文献1,本文学习Vlc.DotNet的基本用法。
  VS2022中新建基于.net core的winform程序,在Nuget包管理器中搜索Vlc.DotNet,选择其中的Vlc.DotNet.Forms包,该包用于Winform项目。

在这里插入图片描述
  安装Vlc.DotNet.Forms包后,会在VS2022工具箱中增加新的分类项,其中的VlcControl控件可以直接拖拽到窗口中使用。
在这里插入图片描述
  构建最简单的测试界面,主要包括选择视频文件、暂停、继续播放、停止功能,调用代码都比较简单,VlcControl控件提供可供直接调用的函数:

vlcControl1.VlcMediaPlayer.Play();
vlcControl1.VlcMediaPlayer.Pause();
vlcControl1.VlcMediaPlayer.Stop();

在这里插入图片描述
  需要说明的有两点:
  1)Vlc.DotNet封装的是libvlc相关的动态链接库文件,程序启动时必须设置vlcControl1.VlcLibDirectory属性以指定libvlc文件所在文件夹,安装包时不会同步安装libvic,需自行下载,下载地址见参考文献4;
  2)vlcControl1.VlcMediaPlayer.Play函数直接传入文件名的话不会播放视频,Play函数的重载形式如下所示,本文使用FileInfo类型传入视频文件名称。

public void Play(FileInfo file, params string[] options)
public void Play(Uri uri, params string[] options)
public void Play(string mrl, params string[] options)
public void Play(Stream stream, params string[] options)

  最后是程序运行效果,如下图所示:
在这里插入图片描述

参考文献:
[1]https://github.com/ZeBobo5/Vlc.DotNet
[2]https://www.cnblogs.com/luxiaoxun/p/3462153.html
[3]https://github.com/ZeBobo5/Vlc.DotNet/wiki/Getting-started
[4]https://download.videolan.org/pub/videolan/vlc/

http://www.lryc.cn/news/207928.html

相关文章:

  • JS的事件委托(Event Delegation)
  • selenium+python自动化安装驱动 碰到的问题
  • laravel+vue2 element 一套项目级医院手术麻醉信息系统源码
  • GEE——使用MODIS GPP和LAI数据进行一元线性回归计算和R2分析
  • [论文阅读]Point Density-Aware Voxels for LiDAR 3D Object Detection(PDV)
  • 自动化学报格式 Overleaf 在线使用 【2023最新教程】
  • 掌握CSS动画技巧:打造引人注目的页面过渡效果!
  • 薛定谔的猫重出江湖?法国初创公司AliceBob研发猫态量子比特
  • 18亿欧元大动作,法国瞄准实现量子飞跃
  • 写保护设置——三、I2C EEPROM
  • 【嵌入式】HC32F07X ADC采样及软件滤波
  • VSCode snippets
  • openEuler 22.03 LTS 环境使用 Docker Compose 一键部署 JumpServer (all-in-one 模式)
  • 宏电5G RedCap工业智能网关获首个中国移动5G物联网开放实验室5G及轻量化产品能力认证
  • MySQL查询今日、昨日、最近七天的数据
  • Oracle 19c新特性:DBCA静默模式克隆远端PDB
  • css:如何通过不同的值,改变盒子的样式和字体颜色通过computed而不是v-if
  • 做外贸真诚是最好的套路
  • RPA厂商大比拼,哪家才更适合您?
  • 更换网络ip地址怎么设置
  • 开始学习Go编程
  • 《SpringBoot项目实战》第五篇—接口发生异常如何统一处理
  • vue+golang上传微信头像
  • JavaScript charCodeAt() 方法
  • Talk | 纽约州立宾汉姆顿大学博士生丁琰:开放环境中机器人的任务与动作规划
  • 2023年Q3企业邮箱安全性报告:境内钓鱼邮件超过境外攻击
  • WebSocket 原理揭秘:让你彻底搞懂 Websocket 原理
  • react中的函数式组件和类式组件
  • Visual Studio 2022 设置 PySide6 扩展工具
  • 【高效开发工具系列】Postman