天天看点

基于VLC的播放器开发

vlc的c++封装  

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

基于VLC的播放器开发

  主要实现功能:

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

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

  3、停止:停止播放。

  4、快进:快进5秒。

  5、快退:后退5秒。

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

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

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

  主要参考文章:

vlc的c#封装

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

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

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

  libvlc media player in c# (part 1)

<a href="http://www.helyar.net/2009/libvlc-media-player-in-c/">http://www.helyar.net/2009/libvlc-media-player-in-c/</a>

  libvlc media player in c# (part 2)

<a href="http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/">http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/</a>

  videolan dotnet for winform, wpf &amp; silverlight 5

<a href="https://vlcdotnet.codeplex.com/">https://vlcdotnet.codeplex.com/</a>

  nvlc

<a href="http://www.codeproject.com/articles/109639/nvlc">http://www.codeproject.com/articles/109639/nvlc</a>

  c#万能视频播放器

<a href="http://www.cnblogs.com/haibindev/archive/2011/12/21/2296173.html">http://www.cnblogs.com/haibindev/archive/2011/12/21/2296173.html</a>

  这里还有一个android下的vlc播放器开发:

源码下载

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

http://www.cnblogs.com/luxiaoxun/p/3462153.html