VS2008下VLC播放器,实现播放、暂停、停止、快进、截图、进度条显示、进度条控制功能

本文档介绍了如何在VS2008下集成VLC播放器,包括创建对话框工程、添加VLC库、解决编译错误、实现播放、暂停、停止、快进、截图以及进度条控制等功能。通过详细步骤和源码示例,指导开发者完成VLC播放器的开发和应用。

可以直接使用的源码:http://download.youkuaiyun.com/detail/dafenqie/9792806

1、首先创建一个基于对话框的应用程序;

2、创建完成后,把VLC的头文件目录vlc拷贝到工程目录下,拷贝libvlc.dlllibvlccore.dlllibvlc.liblibvlccore.libplugins文件夹到工程目录的lib文件夹(没有就新创建一个)下。

3、配置开发环境:

  1)增加头文件的包含目录:

2)配置附加库目录:

2)配置附加依赖项。

4、编译过程中出现如下错误:

1>d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_time_t”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认 int

1>d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认 int

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(149): error C2146: 语法错误: 缺少“;”(在标识符“i_codec”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(149): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(149): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(419): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_media_get_duration”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(419): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(419): error C2086: “int libvlc_time_t”: 重定义

1>       d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46) : 参见“libvlc_time_t”的声明

1>d:\test\testvlc\testvlc\vlc\libvlc_media.h(419): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(412): error C2061: 语法错误: 标识符“uint32_t”

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(420): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_media_player_get_agl”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(420): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(420): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(436): error C2061: 语法错误: 标识符“uint32_t”

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(447): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_media_player_get_xwindow”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(447): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(447): error C2086: “int uint32_t”:重定义

1>       d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(420) : 参见“uint32_t”的声明

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(447): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(613): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_media_player_get_length”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(613): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(613): error C2086: “int libvlc_time_t”: 重定义

1>       d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46) : 参见“libvlc_time_t”的声明

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(613): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(621): error C2146: 语法错误: 缺少“;”(在标识符“libvlc_media_player_get_time”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(621): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(621): error C2086: “int libvlc_time_t”: 重定义

1>       d:\test\testvlc\testvlc\vlc\libvlc_structures.h(46) : 参见“libvlc_time_t”的声明

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(621): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_media_player.h(630): error C2061: 语法错误: 标识符“libvlc_time_t”

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(152): error C2146: 语法错误: 缺少“;”(在标识符“new_time”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(152): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(152): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(208): error C2146: 语法错误: 缺少“;”(在标识符“new_length”的前面)

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(208): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

1>d:\test\testvlc\testvlc\vlc\libvlc_events.h(208): error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int

此问题是因为VS老的编译器引起的,在vlc.h头文件顶部(头文件宏定义之下)中增加如下定义:

// Typedefs for old MScompilers

typedefunsigned__int32    uint32_t;

typedef __int64            int64_t;

可以解决。

以上使用vlc库的开发环境配置完毕。

4、增加VLC适配器代码

   这部分代码不是必须的,是为了上层应用简化封装出来的,可以使用,也可以使用,直接调用VLC提供的函数。若使用,之后再添加新的接口,需要在对应的文件里封装好就可以。

   拷贝VLCWrapper.cppVLCWrapper.h VLCWrapperImpl.cpp VLCWrapperImpl.h 4个文件到工程源文件目录下,并添加CPP文件到工程里。

   1)在对话框头文件中包含

      #include "VLCWrapper.h"

2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值