我是一名大四的学生,今年的毕业设计编写了这个播放器,主要功能是播放音频广播和电视直播。现在毕业答辩已经完成,我放出源码和可执行程序跟大家分享。注意:请勿将该项目用于任何学习交流以外的用途!
音频界面:
视频界面:
先唠叨两句,不想看的可以迅速下翻寻找下载地址
。
大学期间自学了Qt,经常到Qt吧浏览。用Qt中的phonon和Multimedia编写本地播放器非常方便,很多吧友都会写播放器练手,我很早就想突破一下,变本地播放器为流媒体播放器。毕竟网络的世界比我的电脑宽广许多!直到我认识了VLC,这个想法才得以实现。
VLC介绍:VLC是著名的开源播放器,其流媒体推送和播放功能非常强大。VLC的项目组把核心库LibVLC提供出来,供其他程序员二次开发使用。对不了解的朋友做个比喻,LibVLC可以简单的当作和phonon、QtMultimedia是同一类的多媒体库,但是功能上当然不是一个量级的。
开发环境:
IDE:Qt Creator3.6.1
编程框架:Qt 5.6.0
编译器:MinGW 4.9.2
流媒体库:LibVLC2.2.2
我知道肯定有很多朋友跟我的开发环境有差异,比如Qt的版本、编译器的不同等等,但是我机器上只有这个版本,恕无法提供其他版本的测试情况。但是有一点请注意:我曾经在Qt5.2上进行过编译,编译通过但程序是有明显问题的,所以建议大家使用最新的Qt 5.6.0。
配置LibVLC:
LibVLC的SDK在文末的百度云链接中有。配置过程如下:
1.将整个SDK文件夹放到你喜爱的位置,并记下包含这个文件夹的路径,比如D:\sdk。
2.在项目的工程文件(.pro)中加入以下内容:
INCLUDEPATH += D:\sdk\include #这个是LibVLC的头文件包含目录,请自行修改。
LIBS += D:\sdk\lib\libvlc.lib #这两行是LibVLC的库文件路径,请自行修改。
LIBS +=D:\sdk\lib\libvlccore.lib
3.在项目中加入#include <vlc/vlc.h>,就可以调用LibVLC了。
提示:这部分内容可以参考大神雷霄骅在CSDN上的文章。网址为:
1.
http://blog.csdn.net/leixiaohua1020/article/details/42363079
2.
http://blog.csdn.net/leixiaohua1020/article/details/42363593
添加运行库:
libVLC是动态编译的,跟Qt类似。以上的操作只是在编程时引入LibVLC,编译后的程序如要运行,还须添加libVLC的动态链接库。要添加的文件为:libvlc.dll,libvlccore.dll,还要添加一个文件夹plugins。这些文件和文件夹需要放置在可执行程序的目录下,不熟悉的朋友可以类比一下Qt程序的发布,就能理解了。完整的程序(可执行文件+Qt运行库+LibVLC运行库)在文末的百度云链接中有,大家可作参考。
已知问题:
1.程序bug:视频模式下切换窗口再恢复,控件会丢失焦点,但是功能可以正常使用。希望大神们可以
指出bug的原因,非常感谢!
2.频道地址的问题:现在网上音频广播和电视直播多如牛毛,但是地址大多不透明。在采集流媒体地
址的路上我步履维艰。而且大部分网站都做了处理,频道地址是实时更换的。不得不说是个遗憾。
最后贴出源码和可执行程序的下载地址:
http://pan.baidu.com/s/1i598w7N