你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
首页
热门
推荐
精选
登录
|
注册
一个基于QT的多媒体播放器
立即下载
用AI写一个
金额:
2
元
支付方式:
友情提醒:源码购买后不支持退换货
立即支付
我要免费下载
发布时间:2020-04-27
4人
|
浏览:3189次
|
收藏
|
分享
技术:qt+c++
运行环境:qt4
概述
一个基于QT的多媒体播放器
详细
这个播放器使用qt+phonon实现,支持音视频播放,支持同步显示歌词。下面大体介绍下 ## 源码介绍 *.ui 是ui文件,*.h是头文件,*.cpp是具体实现。 最主要的实现是在player.cpp文件中。 具体介绍下: - player.cpp 具体实现 - fileproperty.cpp 文件属性窗口实现 - manageplaylist.cpp 播放列表实现 - pathuri.cpp 播放网络文件 - wizardpage.cpp 初始化窗口。 其中player.cpp中实现了播放的所有功能,包括暂停,打开文件等功能。 菜单包括如下功能: - File 1. open 打开文件 2. open url 打开网络文件 3. Attribute 查看文件属性 4. Exit 退出 - Edit 1. ScreenShot 截屏 2. Clear Play-list 清除播放列表 - View 1. Full screen 全屏 2. Default screen 默认屏幕大小 3. Hide Play-list 隐藏/显示 播放列表 4. show lrc 显示歌词 - Voice 1. turn up 调大音量 2. turn down 调小音量 ## 安装方式: 以ubuntu为例: ### 安装依赖 ```bash sudo apt update #安装qt环境: sudo apt install qt4* -y sudo apt install qtcreator -y #安装phonon sudo apt install build-essential phonon phonon-backend-gstreamer phonon4qt5 phonon4qt5-backend-gstreamer -y #安装解码器 sudo apt install ubuntu-restricted-extras -y ``` ### 编译 终端进入项目目录,执行: ```bash #生成Makrfile文件 qmake Player.pro #编译 make #运行 ./Player ``` 至此,你就可以看到启动界面了。 ## 主界面: 主界面如下图:  同步显示歌词:  ## 说明 ### `phonon` 因为`phonon`在`qt5`中貌似不支持了,所以建议使用`qt4`,另外`phonon`只是提供了媒体文件交互功能,并没有解码器,所以你的系统必须要有解码器支持。 ### 歌词同步显示 歌词文件命名必须为`歌曲文件名.lrc`格式,以张国荣的怪你过分美丽这首歌为例: >歌曲文件:怪你过份美丽.mp3 >歌词文件:怪你过份美丽.mp3.lrc 开始播放歌曲文件后,通过菜单->View->show lrc 来显示。 ### 代码说明 #### main.cpp 应用入口.主要是一些应用初始化代码. #### play.cpp 这个是最主要的代码都在这里,包括窗体绘制,一些控件的初始化,还有歌词同步显示的初始化部分. 如下: ```cpp //设置可播放的文件类型 vwidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto); //音频输出 aOutput = new Phonon::AudioOutput(Phonon::VideoCategory); Phonon::createPath(media,aOutput); //声音控制条 volumeSlider = new Phonon::VolumeSlider; volumeSlider->setAudioOutput(aOutput); volumeSlider->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum); seekSlider = new Phonon::SeekSlider; seekSlider->setMediaObject(media); ``` 其中歌词部分: ```cpp //设置0.1秒发射一次 media->setTickInterval(100); //通过设置tick槽来获得当前播放时间 connect(media,SIGNAL(tick(qint64)),this,SLOT(showTime(qint64))); ``` 是设置一个相当于回调的东西,来同步显示歌词. 歌词和时间的匹配是在 ```void Player::showTime(qint64 time) ``` 这个方法中.会根据歌曲名找到对应的歌词文件.然后根据时间找到对应的歌词并显示. ```cpp void Player::setPath() ``` 该方法是设置文件路径,也就是保存播放记录.每次打开文件都会把路径保存在文件中. ```cpp void Player::incSound() void Player::decSound() ``` 分别是升高音量和降低音量. ```cpp void Player::myGrabWindow() ``` 截屏功能.保存视频截图 ```cpp void Player::hideShowListView() ``` 显示或隐藏播放列表 #### WizardPage.cpp 负责初始化界面.很简单的功能. ## 项目结构: 
本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
感谢
0
手机上随时阅读、收藏该文章 ?请扫下方二维码
相似例子推荐
评论
作者
且听风吟
2
例子数量
60
帮助
8
感谢
评分详细
可运行:
4.5
分
代码质量:
4.5
分
文章描述详细:
4.5
分
代码注释:
4.5
分
综合:
4.5
分
作者例子
基于Django的博客系统
一个基于QT的多媒体播放器