C# Winform开发程序调用VLC播放器控件播放视频.

VLC是个好东西,支持的格式多,还无广告,关键还有调用它的播放控件不用安装.

开个文章记录下调用这个控件的流水账,以便以后需要的时候查阅

创建工程

首先新建一个Winform工程.

这里姑且叫做VLC.Test吧

复制文件

在自己的项目目录里创建一个Lib目录,里面再创建一个VLC目录,
在VLC的安装目录能找到这三个 文件/文件夹 复制到自己的项目里

在项目属性里配置生成事件

这一步的效果是在编译程序的时候能自动把库文件复制到输出目录. 毕竟在创建git仓库的时候是要屏蔽输出目录的.

xcopy "$(ProjectDir)\Lib\VLC\*" "$(ProjectDir)$(OutDir)" /s /e /r /h /d /y

对API进行声明

由于VLC的DLL是Native DLL,在C#中需要进行声明才能用,不过好在这条路已经有人走过了:
借用这个文章写的一个Class(文章末尾会附带git地址)

添加测试视频

在工程里添加了一个视频,并设置自动复制到输出目录

编写代码

将这几行代码加在窗口的load事件中:

VlcPlayer.VlcPlayerBase VlcPlayerBase = new VlcPlayer.VlcPlayerBase(Environment.CurrentDirectory + "\\vlc\\plugins\\");
VlcPlayerBase.SetRenderWindow(pictureBox1.Handle.ToInt32());
VlcPlayerBase.LoadFile("银河与极光.mp4");
VlcPlayerBase.Play();

运行即可播放.

播放效果

代码获取

Gitee码云

Github

原文地址:https://www.cnblogs.com/DragonStart/p/10420558.html

时间: 2024-10-08 12:22:20

C# Winform开发程序调用VLC播放器控件播放视频.的相关文章

使用VideoView自定义一个播放器控件

介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退.好了,下面开始. 效果图 效果图有点卡,我也不知道为啥..... VideoView介绍 这个是我们实现视频播放最主要的控件,详细的介绍大家百度就去看,这里介绍几个常用的方法. 用于

C#播放器控件的常用方法介绍

右击工具箱->选择项(I)... -> 显示"选择工具箱项" -> COM组件 -> Windows Media Player   wmp.dll 添加 [基本属性] URL:String; 指定媒体位置,本机或网络地址 uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写) playState:integer; 播放状态.这个属性改变时同时引发PlayStateChange事件与StateChan

使用vlc的ActiveX控件播放视频

最近项目中涉及到在web页面中去播放一个.mp4格式的视频文件. 开始使用的是windows自带的播放器,clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6 发现播放不了视频,因为视频用的是.mp4格式,需要h264解码,所以需要一个支持h264的 播放器. 从网上看了一下vlc播放器,支持ActiveX,就下载了一个试试看.版本为vlc-2.1.5-win32. clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921 这个是obj

Android上定义播放器控件UniversalVideoView

在Android上播放视频最简单的方法是使用SDK中内置的VideoView,然后加上MediaController来控制视频播放暂停等,但是这样有一个缺点是无法定制自己的控制UI,所以这里提供一个自定义播放控件,它可以设置多种自定义属性(如loading样式,错误视频等),并且很容易在全屏与非全屏之间切换,另外支持Android V2.3及以上系统. 项目地址: https://github.com/linsea/UniversalVideoView 使用方法 完整的使用方法请参考项目里的Sa

在WinForm应用程序中,使用选项卡控件来加载不同的Form界面!

1 TabPage tp=new TabPage(); 2 your选项卡控件.Controls.Add(tp); 3 4 From1 frm=new Form1(); 5 frm.TopLevel = false; 6 frm.Dock = DockStyle.Fill; 7 frm.FormBorderStyle =FormBorderStyle.None; 8 9 tp.Controls.Add(frm); 10 frm.Visible = true; 最近想了一些关于子窗体嵌套显示在父窗

Delphi 媒体播放器控件

樊伟胜 原文地址:https://www.cnblogs.com/fanweisheng/p/11378752.html

从零开始学android<Mediaplayer播放器组件(播放音频).四十八.>

在win计算机中播放视频和音频往往会使用到计算机当中的windowsMediaPlayer播放器,而在Android中则同样会使用mediaplayer播放器对音频和视频进行播放. 下图是mediaplayer的生命周期 dle状态:当使用关键字new实例化一个MediaPlayer对象或者是调用了类中的reset()方法会进入到此状态: End状态:当调用release()方法之后将进入到此状态,此时会释放掉所有占用的硬件和软件资源,并且不会再进入到其他的任何一种状态了: Initialize

android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题

============问题描述============ 大家好,我最近遇到个问题: 大家都知道,播放器中的播放/暂停键是这样的逻辑:当用户点击了这个键,如果当前显示的是"播放"图案,会变为"暂停"图案:反之,如果当前是"暂停"图案,会变为"播放"图案 , 如此反复... 现在我正在实现这个效果,我是这样做的: 在以上的基本效果的基础上,我还添加了点击过程中的效果,就是当点下还木有松开时,会有一个点击效果(比如给当前图片加个光

NX二次开发-Block UI C++界面Face Collector(面收集器)控件的获取(持续补充 )

Face Collector(面收集器)控件的获取 1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_obj.h> 5 6 7 UF_initialize(); 8 9 //面收集器控件 10 PropertyList* FaceSelectProps = face_select0->GetProperties(); 11 std::vector<NXOpen::TaggedObject *> faces = Face