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. struts框架中常用到的标签

    2.<constant name="struts.i18n.encoding" value="UTF-8" />     指定Web应用的默认编码集 ...

  2. HDFS数据流——读数据流程

    HDFS读数据流程 假设客户端请求下载文件/user/atguigu/ss.avi,HDFS读数据流程如下: 1)客户端向namenode请求下载文件,namenode通过查询元数据,找到文件所有文件 ...

  3. document.domain location.hostname location.host

    document.domain    location.hostname     location.host   :https://www.cnblogs.com/shd-study/p/103031 ...

  4. jsp常问面试题集

    1.Servlet总结 在Java Web程序中,Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServl ...

  5. python进阶之类的反射

    有应用场景的技术才是有灵魂的技术------>最近同时问我,在python中,给你一个函数或者类的字符串名称,你怎么得到该函数和类,以下结合源码记录我得到的方式: 1.给一个函数的字符串&quo ...

  6. 关于Python程序的运行方面,有什么手段能提升性能?

    1.使用多进程,充分利用机器的多核性能 2.对于性能影响较大的部分代码,可以使用C或C++编写 3.对于IO阻塞造成的性能影响,可以使用IO多路复用来解决 4.尽量使用Python的内建函数 5.尽量 ...

  7. %.*f (特殊的输出符)

    c语言中每一种数据类型都有自己的专属占位符,如整型的%d,浮点型的%f等,而*也是一个占位符,比较特殊而已. 比如输入一个n,输出0.5的n次方,就可以这么写 #include<bits/std ...

  8. Nodejs的模块化

    Node.js中的模块化 好处: 复用性高,一次定义,多次使用 前端模块化 AMD AMD的实现需要使用 require.js CMD CMD的实现需要使用 sea.js [ 不更新 ] Common ...

  9. 基本SQL查询语句

    使用Emp表和Dept表完成下列练习 Emp员工表 empno ename job Mgr Hiredate Sal Comm Deptno 员工号 员工姓名 工作 上级编号 受雇日期 薪金 佣金 部 ...

  10. 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统

    Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...