博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于VLC的播放器开发
阅读量:7046 次
发布时间:2019-06-28

本文共 1296 字,大约阅读时间需要 4 分钟。

VLC的C++封装  

  因为工作需要,研究了一段时间的播放器开发,如果从头开始做,可以学习下FFmpeg(),很多播放器都是基于FFmpeg开发的,但是这样工作量和难度都比较大,如果想很快能拿出一个播放器来用的,可以研究下开源的播放器,参考下射手播放器作者的文章:。

  对比下现有的主流播放器:,VLC是在各个方面都表现很突出的一款。VLC 是一款免费、自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,DVD、音频 CD、VCD 以及各类流媒体协议。VLC官网:。

  VLC是在Linux下用C语言开发的,如果想用其接口,可以将C的接口用C++封装一下,这样使用方便的很多,在CodeProject上搜到一个C++的封装,在他的基础上加了点函数,使用了最新的VLC版本(2.1.0),用MFC做成了如下的样子:

  主要实现功能:

  1、打开:加载音视频文件(同时开始播放)。

  2、播放/暂停:播放暂停文件播放。

  3、停止:停止播放。

  4、快进:快进5秒。

  5、快退:后退5秒。

  6、音量:音量调节(0--100)。

  7、播放进度控制:使用进度条控制。

  基本上实现的功能和CodeProject上那个demo差不多,我修改后可以播放网络流媒体,将加载的文件名修改为流媒体地址就可以了。播放上面双语字幕的文件时貌似不能正常显示中文,VLC播放器本身也有这个问题,不过可以设置修改。其他更多的功能还有待研究,VLC的接口注释都很详细,按照它的接口应该可以实现更多的功能,有问题也可以直接在VideoLan的论坛上发帖问:。

  主要问题:运行时需要依赖的VLC的plugins目录里的DLL(66M大小)太多,有一些DLL是用不到的,如果封装成ActiveX给Web下调用,打包的cab的会比较大,需要裁剪。。。

  主要参考文章:

  1、

  2、

 

VLC的C#封装

  如果播放器客户端使用的是.Net开发的,如何使用VLC?可以有以下几种方法:

  1、ActiveX控件:可以将上述MFC的播放器封装成ActiveX控件提供给C#调用。鉴于业余时间有限,现在这部分工作还没做。

  2、使用.Net的PInvoke技术将VLC的C接口封装成C#接口,这方面网上的文章也很多,具体可参考以下文章:

  libvlc media player in C# (part 1)

  libvlc media player in C# (part 2)

  VideoLan DotNet for WinForm, WPF & Silverlight 5

  nVLC

  c#万能视频播放器

  这里还有一个Android下的VLC播放器开发:

  

 

源码下载

  基于VLC的MFC播放器下载:

 

 

作者:
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
http://www.cnblogs.com/luxiaoxun/p/3462153.html
你可能感兴趣的文章
提高 Java 代码性能的各种技巧
查看>>
大数据和警察
查看>>
PostgreSQL服务器管理:从源代码安装
查看>>
英国交通运输业面临网络安全威胁 投入资源加强防范
查看>>
施耐德电气:打造新一代数据中心基础设施
查看>>
朱共山:光伏重组不搞拉郞配 市场唱主角
查看>>
乐天中国官网疑遭黑客攻击瘫痪,有技术人员呼吁继续声讨
查看>>
投融界成功案例告诉你:太阳能光伏发电项目该如何吸引资本加入
查看>>
《MongoDB管理与开发精要》——3.4节游标和存储过程
查看>>
云计算的小兄弟:雾计算和霾计算
查看>>
Xerafy携手VUEMED,扩大了医疗供应链技术解决方案
查看>>
后监管时代P2P生存路径:大数据风控能力是核心
查看>>
美国将再建两个海上风力发电场
查看>>
新ICT时代来了,有没有感觉到不一样?
查看>>
全球物联网并购投资趋热 电信运营商如何看清风向?
查看>>
土地紧张使香港数据中心市场增长乏力
查看>>
《贵州省大数据发展报告(2016)》白皮书发布
查看>>
5G:开启英特尔增长的良性循环的钥匙
查看>>
Android的兼容性问题剖析
查看>>
Yahoo!雅虎董事会或将在今天敲定最终竞购报价
查看>>