WPF VlC 实现视频的播放(1)

WPF 使用VLC实现视频的播放:网上开源代码我复制了一份:  https://github.com/someonehan/Vlc.DotNet

1. 准备阶段

(I)  libvlc.dll 和 libvlccore.dll 是必须的两个库

(II) 配合使用和还要有plugins文件夹下面的乱七八糟的dll,这个东西如果不好找可以在电脑上安装一个vlc播放器然后在安装目录下面就能够找到这个文件夹

2. 使用播放

(I) 在使用这个开源的控件之前需要指定VlcLibDirectory其实主要就是plugins文件夹下面乱七八糟的dll(这里面肯定有好多东西是没有用的)指定这个VlcLibDirectory我使用这两种方法:

            var currentAssembly = Assembly.GetEntryAssembly();
            var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName;
            vlcControl.MediaPlayer.VlcLibDirectory = new DirectoryInfo(Path.Combine(currentDirectory, @"..\..\..\lib\x64\"));

vlcControl.MediaPlayer.VlcLibDirectoryNeeded += OnVlcControlNeedsLibDirectory;

        private void OnVlcControlNeedsLibDirectory(object sender, Forms.VlcLibDirectoryNeededEventArgs e)
        {
            var currentAssembly = Assembly.GetEntryAssembly();
            var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName;
            if (currentDirectory == null)
                return;
            if (AssemblyName.GetAssemblyName(currentAssembly.Location).ProcessorArchitecture == ProcessorArchitecture.X86)
                e.VlcLibDirectory = new DirectoryInfo(Path.Combine(currentDirectory, @"..\..\..\lib\x86\"));
            else
                e.VlcLibDirectory = new DirectoryInfo(Path.Combine(currentDirectory, @"..\..\..\lib\x64\"));
        }

毫无疑问第二种方法要好许多,第一种方式是我在我的电脑上运行使用的。

(II)  vlcControl是个什么东西啊,这个是我们需要在xmlns界面上定义的开源代码中定义好的控件

xmlns:wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"
<--!这个引用是必须要加上的 -->
<wpf:VlcControl x:Name="vlcControl"></wpf:VlcControl>

(III) 剩下的就是播放视频了,我们可以在适当的时候调用类似下面的代码,当然给予Vlc强大的功能我们不仅可以播放任何格式的本地视频(擦,现在各种格式的视频格式真是让人蛋疼了)还可以播放网络视频

vlcControl.MediaPlayer.Play(new FileInfo(@"C:\Users\Public\Videos\Sample Videos\Wildlife.wmv"));//播放咱们电脑上都有的野生动物的视频

下面这个是我在网上找的一段新闻视频

vlcControl.MediaPlayer.Play(new Uri("http://218.93.204.74/145/49/102/letv-uts/14/ver_00_22-322571901-avc-479655-aac-32005-220400-14345429-51c2a04560d147a24c1357f68cd84849-1436438909790_mp4/ver_00_22_3_3_1_820432_700112.ts?crypt=30aa7f2e236&b=520&nlh=3072&nlt=45&bf=36&p2p=1&video_type=mp4&termid=1&tss=ios&geo=CN-1-12-1&platid=1&splatid=101&its=0&proxy=3736741834,987235498,1032384108&keyitem=platid,splatid,its&ntm=1436767800&nkey=d0d58ef311bc08d22da3b6d753a97c31&nkey2=1a2c44f168e70910f6586dcd1dba9217&mltag=1&mmsid=32925199&tm=1436756751&key=ed30d40ea485ed2ea14d0a2b17f71c6b&playid=0&vtype=13&cvid=474368485029&payff=0&ctv=pc&m3v=1&hwtype=un&ostype=WindowsServer2008R2&tag=letv&sign=zw_baidushort&p1=1&p2=10&p3=-&tn=0.11052118893712759&pay=0&uuid=E98B6E3090FB295CF7C5E1030BAF7F351C1F96A6&token=null&uid=null&rateid=1000&errc=0&gn=1058&buss=100&qos=4&cips=113.208.137.58&ch=&p1=1&p2=10&p3=-&appid=500&v=vod.4.2.07022222&rd=1436756767540"));

简单的播放先实现在这,如果要播放共享内存中的视频应该怎么弄?暂时我还不知道找时间好好看看!

时间: 2024-11-13 15:36:38

WPF VlC 实现视频的播放(1)的相关文章

利用VS C# 实现串口控制视频的播放 use VLC

开发环境:VS2013, C#, VLC播放器 实现的功能: 1.利用串口通信来控制视频的播放, 2.接收到"1"时播放第一个视频,若10s内没有接收到"1",自动播放第二个视频,期间忽略接受到的0: 3.若正在播放第二个视频,接收到"1",立马播放视频1, 整个功能的实现主要就用到了2个控件和1个VLC类,控件SerialPort和timer&&类VlcPlayer.cs 重要提示:项目必须使用.NET 2.0,并且电脑需要安装

在wpf中如何让MediaElement的视频循环播放

原文:在wpf中如何让MediaElement的视频循环播放 MediaElement原始的播放是只播放一遍:如何设置让MediaElement播放 的视频或者音频循环播放,解决如下: 修改MediaElement模版 <MediaElement  Name="myMediaElement" Margin="13,35,14,0"  Height="100" VerticalAlignment="Top">    

WPF之路三:视频的播放

同图片一样,把视频资源复制到文件夹路径下,修改资源属性复制到输出目录"始终复制",生成操作改为"内容", 把<MediaElement  Name="myVid" Source="./media/1.mp4" Width="480" Height="320" IsMuted="True" Volume="3.5"  LoadedBehavio

github视频录制播放相关功能-参考

lookingstars/JZVideoDemo  视频播放器 Updated on 11 Aug Objective-C 15 10 caoguoqing/VideoEditDemo  iOS video cut ,also can add blackgroundmusic iOS 视频剪辑,视频添加背景音乐 Updated on 13 Jun 2014 Objective-C 139 50 835239104/KrVideoPlayerPlus  根据36Kr开源的KRVideoPlayer

在滚动列表中实现视频的播放(ListView &amp; RecyclerView)

英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView) 本文将讲解如何在列表中实现视频播放.类似于诸如 Facebook, Instagram 或者 Magisto这些热门应用的效果: Facebook: Magisto: Instagram: 这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下载

用OpenCV制作视频控制播放器(无声音)

申明:OpenCV是计算机视觉库,所以用在图片或视频处理上,故播放的视频暂时没有声音 软件:用OpenCV制作视频控制播放器(无声音) 功能说明:新建播放窗口,添加进度条可以拖动视频播放. 流程图: 功能说明: 1. 新建进度条 cvCreatTrackbar("","",&,frames,callback) 2.获取总帧数 cvGetCaptureProperty(&,id) double cvGetCaptureProperty( CvCaptu

配置 nginx 支持 f4v视频格式播放

Nginx默认不支持f4v视频格式播放,解决方法为编辑mime.types文件,在video/mp4加上f4v即可 types {   # Data interchange     application/atom+xml                  atom;     application/json                      json map topojson;     application/ld+json                   jsonld;     

手机影音第七天 视频的播放下一个视频功能实现,视频进度、电量变化的实现

先看下效果图: 在这里,视频进度条会根据视频播放变化,下方的按钮中,播放下一个,上一个都已实现. 代码已经托管到码云上,想下载看的小伙伴可以从下方地址中获取 https://git.oschina.net/joy_yuan/MobilePlayer 1.在这张图上,自定义的显示电量的那一列已经被系统自带的状态栏遮盖,下面就说一下实现方法: 系统电量变化时,系统会发送一个广播,所有对这个广播感兴趣的activity都可以注册广播来接收这个广播.在这里接收系统电量变化,屏幕锁屏.开屏的广播,只能使用

Android MediaStore检索视频并播放

该文章是为了检索手机上sd卡中的视频,然后将检索出来的相应视频的缩略图,名称等视频信息显示在ListView上.点击每个item后播放相应的视频. 源代码: 布局文件: activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:la