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. HDU 5094 题解(状压BFS)

    题面: Maze 题目中文大意: 这个故事发生在“星际迷航”的背景下. “星际争霸”的副队长史波克落入克林贡的诡计中,被关押在他们的母亲星球Qo’noS上. 企业的上尉詹姆斯·T·柯克(James T ...

  2. HDU-1873 看病要排队(队列模拟)

    看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  3. 20191119PHP.class类练习

    <?phpclass person{ public $name; private $age; public $sex; const WOMAN=0; const MAN=1; function ...

  4. 前端之CSS基础

    前端之CSS 1. CSS CSS定义如何显示HTML元素. 当浏览器读到一个样式表,他就会按照这个样式表来对文档进行格式化(渲染). 3.CSS语法 1)CSS实例 每个CSS由两部分组成: 选择器 ...

  5. Javascript 原型链之原型对象、实例和构造函数三者之间的关系

    前言:用了这么久js,对于它的原型链一直有种模糊的不确切感,很不爽,隧解析之. 本文主要解决的问题有以下三个: (1)constructor 和 prototype 以及实例之间啥关系? (2)pro ...

  6. hr员工数据分析(实战)

    hr员工数据分析项目实战 (数据已脱敏) 背景说明 某公司最近公司发生多起重要员工意外离职.部分员工工作缺乏积极性等问题,受hr部门委托,开展数据分析工作. 经与hr部门沟通,确定以下需求: 制定数据 ...

  7. 记一次在mac上源码编译curl,使其支持NSS的过程

    一.背景 在一次学习https原理的过程中,希望客户端指定特定的cipher suites来抓包分析SSL/TLS的握手过程,就想到了使用curl工具,而不是使用浏览器. 接下来使用man curl找 ...

  8. wenzhang

    作者:周公子链接:https://zhuanlan.zhihu.com/p/94960418来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 2006年2月9日,首都经济 ...

  9. hdu 4082 Hou Yi's secret(暴力枚举)

    Hou Yi's secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. [Usaco2007 Jan]Telephone Lines架设电话线(最短路,二分)

    [Usaco2007 Jan]Telephone Lines架设电话线 Description FarmerJohn打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务.于是,FJ必须为此向 ...