QT跨平台使用libvlc播放视频
http://download.videolan.org/pub/videolan/vlc/
下载vlc的源码
vlc流程:
1、创建并初始化一个libvlc实例
LIBVLC_API libvlc_instance_t * libvlc_new( int argc , const char *const *argv );
2、根据给定的媒体对象创建一个播放器对象
LIBVLC_API libvlc_media_player_t * libvlc_media_player_new_from_media( libvlc_media_t *p_md );
3、解析媒体实例
LIBVLC_API void libvlc_media_parse( libvlc_media_t *p_md );
4、根据事件解析器分析媒体各种事件及处理
//从发送事件的媒体播放器对象那里获取一个事件管理器
① LIBVLC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *p_mi );
//事件通知注册器
② LIBVLC_API int libvlc_event_attach( libvlc_event_manager_t *p_event_manager, libvlc_event_type_t i_event_type, libvlc_callback_t f_callback, void *user_data );
5、设置给予媒体播放器媒体输出的win32/win64窗口句柄
LIBVLC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, void *drawable );
(注:用Qt的话,比如用QLabel,要用它的winID,并且强转成(void *)类型)
6、获取媒体的状态
LIBVLC_API libvlc_state_t libvlc_media_get_state(libvlc_media_t *p_md );
7、开始播放
LIBVLC_API int libvlc_media_player_play ( libvlc_media_player_t *p_mi );
8、检测媒体是否正在播放(注:这里的返回值可以强转成bool类型方便一点)
LIBVLC_API int libvlc_media_player_is_playing ( libvlc_media_player_t *p_mi );
9、正在播放的媒体暂停(暂停再点击播放可以继续)
LIBVLC_API void libvlc_media_player_set_pause ( libvlc_media_player_t *mp, int do_pause );
10、正在播放的媒体停止(停止再点击播放则重头播放)
LIBVLC_API void libvlc_media_player_stop ( libvlc_media_player_t *p_mi );
11、释放所有vlc对象(注:在释放libvlc_media_player_t之前,记得先将视频停止,避免的不必要麻烦)
LIBVLC_API void libvlc_media_player_release( libvlc_media_player_t *p_mi );//释放libvlc_media_player_t
LIBVLC_API void libvlc_media_release( libvlc_media_t *p_md );//释放libvlc_media_t。
LIBVLC_API void libvlc_release( libvlc_instance_t *p_instance );//释放libvlc_instance_t。
QT跨平台使用libvlc播放视频相关推荐
- QT使用QMediaPlayer + QVideoWidget播放视频文件
QT使用QMediaPlayer + QVideoWidget播放视频文件 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 文章 ...
- Delphi调用LibVLC播放视频,窗口如何响应键盘鼠标的消息?OnClick、OnDblClick、OnMouseMove
LibVlc使用简单方便,Delphi调用其接口播放视频文件或者网络视频(RTSP.RTMP等各种协议),几行代码就搞定了,实在是制作视频播放器的最佳利器. 不过,调用libvlc_media_pla ...
- VLC-基于LIBVLC播放视频
安装VLC后在安装目录 找到所需要的:sdk 开发使用 : plugins 运行使用,必须与执行文件在一个目录 还有核心的dll libvlc.dll 和 libvlccore.dll VC 代 ...
- QT Libvlc旋转播放视频
使用Libvlc进行旋转播放视频时只需要我们在创建vlc实例时传入相应的参数即可: 比如旋转90度: QVector<const char*> vec; const char* p1 = ...
- 1.QT中播放视频,录音程序的编写
1 通过process的方式播放视频 T22VideoPlayer.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gu ...
- Qt QWidget播放视频背景图片闪烁
播放软件主窗口重新实现函数changeEvent,解决最小化之后界面不刷新问题. void VRS::changeEvent(QEvent * event) {//最小化之后再恢复到之前状态,界面会出 ...
- Qt的QMediaPlayer播放视频和音频
这里只是做简单的测试,功能简单,代码如下: QVBoxLayout *layout = new QVBoxLayout; QVideoWidget* vw = new QVideoWidget(); ...
- Python使用QT播放视频
先看下效果 点击打开视频->进行视频选择,可以暂停和播放,双击可以全屏,代码也是网上收集的 有2个demo,第一个是简单版,第二个demo增加了播放,暂停,进度条,全屏 需要安装一个视频解码器, ...
- 关于使用QT在ARM上实现ffmpeg播放视频的思路
1.使用ffmpeg解码视频,这一点可以看雷神的例子. 2.开启线程,在线程中解码视频为image,并获取帧率(重要),将image进行拉伸到所需的大小后放入一个队列中,不停的添加image到队列中, ...
- QT播放视频QMediaPlayer
pro文件添加QT +=multimedia multimediawidgets: UI界面拖拽一个QWidget,右键提升为QVideoWidget: 定义QMediaPlayer对象 QMedia ...
最新文章
- Algs4-2.2.29自然的归并排序(未解决)
- 查看电脑python虚拟环境-手把手教你在Linux系统下使用Python虚拟环境
- html5怎么实现自动缩放图片,如图,html5开发的手机端web在线客服聊天,如何实现图片点击放大,捏合缩放功能?...
- 开发发布npm module包
- python flask 分页前后端分离_flask展示pyecharts图表前后端分离的问题
- 前端学习(2915):数据绑定
- amd860k能装黑苹果吗_可以黑苹果,性能比同价位的GTX1650强,RX580 2048SP不香吗?...
- 外网访问内网Oracle数据库
- 网络之NSURLConnection
- 2018年下半年《软件评测师》上午试卷及答案
- windos10专业版激活(可用)
- 富士施乐m115b怎么连接电脑_富士施乐 Fuji Xerox DocuPrint M118w/M118z打印机无线连接设置详解...
- 一级域名和二级域名的区别
- mysql之my.cnf
- KEIL-51单片机实现自定义bootloader,用于程序更新 研究
- his系统计算机软件,医院信息系统(HIS)
- 概率论与拉普拉斯决定论矛盾吗?
- linux停止正在执行脚本
- 13 常见CHIP封装的创建
- 国内常见网络设备提供商分析
热门文章
- 小米8使用usb连接计算机,小米怎么连接电脑usb(小米8连接电脑看不到文件)
- vmware克隆linux虚拟机,报Device eth1 does not seem to be present,delaying initialization.错误
- 大数据——舆情监控系统
- 浦江县教育计算机网上网认证系统,上网认证系统使用说明
- java导出可运行文件格式,|java导出excel,excel打不开,报文件格式无效,怎么解决!...
- php 分换算成元,亿元换算成元(亿元换算成元加几个零)
- Python&Opencv手势识别系统(完整源码&自定义UI操作界面&视频教程)
- 90后最流行的英文名
- 中科矿业带你走进SWARM/BZZ,选择去或留?
- Itext设置页眉页脚、表头划线、水印、条形码、二维码