http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25498312&id=218294 

分类: 系统运维

首先要注册VLC的ActiveX控件。

拷贝vlc-0.8.6e\activex目录下面的axvlc.dll文件到c:\windows目录下面,然后运行命令提示符cmd。在命令提示符中输入如下命令注册该控件

REGSVR32 C:\WINDOWS\AXVLC.DLL

系统会提示注册成功,但是实际上是无法使用播放功能的!通过分析注册表的注册信息知道,播放的时候依赖的一些动态链接库没有在ActiveX中。

所以得去选择适合Windows下的VLC播放器,取其编译好的插件。到http://www.videolan.org/vlc/download-windows.html下载播放器并安装,然后复制其目录下的axvlc.dll、axvlc.oca、libvlc.dll、npvlc.dll以及plugins下的所有文件到某个目录(例如myRelease)中,作为支持VLC ActiveX控件运行的基础。有了这些文件之后就可以卸载安装的VLC,使用自己开发的播放器了。

运行命令cmd,进入myRelease目录,执行下面的命令注册VLC ActiveX控件:

REGSVR32 AXVLC.DLL

然后使用VC++6.0开发一个简单的播放器。具体开发过程不详述了,请参考myVLC目录下面的myVLC.dsw工程文件。

由于VLC没有使用文档,更加没有ActiveX的开发手册,开发时使用的是VLC ActiveX Plugin v1,通过阅读vlccontrol.h文件中的类声明来了解VLC控件的用法的。从中可以知道它实现了基本的播放功能,但是没有提供获取文件播放时间的接口,所以无法使用时间来显示播放进度,只能以播放百分比来表示。

播放器使用方法

运行myVLC.exe后,打开一个VLC控件支持的多媒体文件就可以播放了。

该播放器可以实现以下功能:

1. 全屏显示:在播放视频时,可以双击VLC播放窗口实现全屏显示与窗口显示的切换。目前还不知道如何刷新窗口,当播放窗口被部分遮住时,可能会无法自动刷新,得通过全屏切换来实现刷新。

2. 进度显示:播放过程中,进度条显示播放进度,进度条旁边的标签显示播放百分比。拖动进度条不会改变播放进度。

3. “FileName”:显示已经打开的文件或者URL。

4. “OpenFile”:选择并播放一个磁盘上的多媒体文件

5. “PlayURL”:在文本输入框中输入网络流媒体URL后单击进行播放。如果接收的是广播,则无法快进/快退、调整播放速度、暂停/继续等。

6. “Play”:从文件的开始处播放。

7. “Pause/Resume”:暂停/继续的切换。

8. “Stop”:停止播放,播放窗口显示VLC的logo。

9. “Backward”:后退5秒钟。在播放mpeg视频时,这个按钮有用,在播放mp3时会导致重新播放。

10. “Forward”:前进5秒钟。在播放mpeg视频时,这个按钮有用,在播放mp3时会导致重新播放。

11. “PlaySlower”:减慢播放速度。单击一次减少一半的速度,最慢只能达到正常速度的1/8。

12. “PlayFaster”:加快播放速度。单击一次增加一倍的速度,最快只能达到正常速度的8倍。

13. “-”“+”:调节音量,每次以5增加或者减少。

14. “Mute”:静音/非静音的切换。

15. “About”:作者信息。

16. “Exit”:退出应用程序。

 

阅读(8175) | 评论(0) | 转发(0) |

 

通过VLC的ActiveX进行二次开发,实现一个多媒体播放器 2011-04-10 00:57:23的更多相关文章

  1. Netty入门二:开发第一个Netty应用程序

    Netty入门二:开发第一个Netty应用程序 时间 2014-05-07 18:25:43  CSDN博客 原文  http://blog.csdn.net/suifeng3051/article/ ...

  2. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  3. Netty4具体解释二:开发第一个Netty应用程序

        既然是入门,那我们就在这里写一个简单的Demo,client发送一个字符串到server端,server端接收字符串后再发送回client. 2.1.配置开发环境 1.安装JDK 2.去官网下 ...

  4. wordpress二次开发第一个jquery对比

    $(document).ready(function(){ $("input").focus(function(){ $("input").css(" ...

  5. AUTOCAD二次开发-----删除一个图层里面的所有对象

    https://blog.csdn.net/aasswwe/article/details/40899759 private void Test() { // 获取当前文档和数据库 Document ...

  6. NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix

    1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...

  7. NX二次开发-UFUN点收集器UF_UI_select_point_collection

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //点收集器 char sMessage[] = "点收集器& ...

  8. NX二次开发-从一个坐标系到另一个坐标系的转换

    函数:UF_MTX4_csys_to_csys().UF_MTX4_vec3_multiply() 函数说明:从一个坐标系统到另一个坐标系统的转换.如下图红色坐标系下有个红色的点,将红色的点转到绿色的 ...

  9. Android VLC播放器二次开发1——程序结构分析

    最近因为一个新项目需要一个多媒体播放器,所以需要做个视频.音频.图片方面的播放器.也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大.所以最后选择了VLC作为基础,进行二次开 ...

随机推荐

  1. SpringBoot 使用maven创建springboot项目

    有两种方式可以创建  1是使用spring-boot-starter-parent ,2是使用spring-boot-dependencies (即父项目dependencyManagement) ( ...

  2. JAVA总结--Spring框架全解

    一.Spring简介 Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Java企业 ...

  3. Python 数据分析中常用的可视化工具

    Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...

  4. 安装Erlang使用RabbitMQ

    首先登陆官网进行下载:https://www.erlang.org/downloads/20.3 本次下载的版本是20.3,rabbitmq准备使用3.7.17版本 现在开始安装 因为是使用c#语言, ...

  5. javaweb各种框架组合案例(七):springboot+jdbcTemplete+通用dao+restful

    一.介绍 1.springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之间 ...

  6. hadoop HA + HBase HA搭建:

    hadoop HA搭建参考:https://www.cnblogs.com/NGames/p/11083640.html (本节:用不到YARN 所以可以不用考虑部署YARN部分) Hadoop 使用 ...

  7. python基础--2 字符串

    整型 int python3里,不管数字多大都是int类型 python2里面有长整型long 将整型字符串转换为数字 # a='123' # print(type(a),a) # b=int(a) ...

  8. 【LeetCode】未分类(tag里面没有)(共题)

    [334]Increasing Triplet Subsequence (2019年2月14日,google tag)(greedy) 给了一个数组 nums,判断是否有三个数字组成子序列,使得子序列 ...

  9. js实时计算价格

    //通过数量,单价的输入,实时显示总价 $("#number,#price").on("input",function(e){ $("#totalPr ...

  10. flask之视图函数从前端接收数据的方法

    一:从前端接收查询字符串  query-string 注意:get和post都可以在url后面添加查询字符串?a=1&b=2 测试工具:postman 1:get方式接收 视图函数 from ...