• 16616阅读
  • 12回复

[开源]Qt5 QML实现的音乐播放器(11月29日 更新) [复制链接]

上一主题 下一主题
离线jakes
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2013-11-17
本源码托管于GIT@OSC:
https://git.oschina.net/jakes/QMusicPlayer.git
本帖不会发布任何源码,只含有每次里程碑编译的二进制版(For Win),目的是鼓励大家使用代码托管平台开源或管理自己的代码,让大家都可以参与到开发当中。
11月29日 更新
下载链接:
百度云:http://pan.baidu.com/s/1qwd6W  点此下载 (19.7MB)

更新说明
1. 使用Qt Quick2 内置Slider部件替代了自己定义的Slider部件。
2. 使用Qt Quick2 QtMultimedia 5.0 module 中的MediaPlayer实现了音乐的播放功能,并实现音量进度可调。
3. 细化显示播放列表,增加了处于播放状态项目的特殊显示。
4. 歌曲列表加入了简单的动画特效,fork后可以自己修改修改。
5. 使用FileDialog元素完成了歌曲添加功能,目前只确定了MP3文件。
6. 使用LocalStorage 2.0 本地存储功能完成播放列表的存储,完成了添加、修改、删除歌曲的功能。
7. 内部实现了单曲播放、单曲循环、列表播放、列表循环和随机播放功能,但并未实现到界面上(主要原因是按钮没P好,自己美工差)
8. 界面上的上一曲、播放暂停和下一曲的按钮已经实现,但是中间的按钮没有改变显示状态(还是因为图片。。。)
已知问题
1. 由于改用Qt Quick2,使用了QQmlApplicationEngine,其生成的对象是QWindow的派生。之前使用QWidget重载paintEvent事件绘制阴影的方法失效了。尝试了使用纯粹的QML去实现异形窗口,没成功,所以暂时去掉了窗口阴影。有经验的欢迎指导。
2. 在纯中文系统中使用一切正常,但在英文版的系统(Win8.1 EN)中所有中文全部消失。界面可以通过国际化的方法解决,但是含有中文的歌曲,添加到播放列表时无法显示。这个问题研究了很久还没思路,希望大家给点支持,帮帮忙撒。
界面预览




界面预览版现在实现的只是界面预览,待加入功能实现。界面上模仿了@奋斗ing孩子 。阴影效果采用的@sssooonnnggg 的代码。感谢前人的贡献。里面的Slider, ListView等,都是自己弄的。初学QML,代码写得很糟,开源只是为了和大家交流。如果有谁实现了具体的功能或者界面上的优化,可以提交到GIT@OSC。


本源码托管在GIT@OSC: http://git.oschina.net/jakes/Jakes_lab/tree/master/MusicPlayer


这里就不上传源码了,只上传了静态编译的二进制文件,有兴趣的可以下来看看。需要源码的到托管网站上下,链接如上。








下载链接: MusicPlayer.7z (6897 K) 下载次数:364



离线toby520

只看该作者 1楼 发表于: 2013-11-17
很好,你可以考虑开发一个QML2播放器,以后估计jolla新机用得着
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线jakes

只看该作者 2楼 发表于: 2013-11-17
引用第1楼toby520于2013-11-17 20:29发表的  :
很好,你可以考虑开发一个QML2播放器,以后估计jolla新机用得着

有这个想法。我目前试图将程序编译到Android,但出现奇怪的错误。错误如下:

17:49:09: 进程"S:\Programming\Qt\Qt5.1.1_android\Tools\mingw48_32\bin\mingw32-make.exe"正常退出。
找不到 ''。
请确保您的程序构建成功,并且在“应用程序”标签("运行选项")中选中。
  1. 17:49:09: 进程"S:\Programming\Qt\Qt5.1.1_android\Tools\mingw48_32\bin\mingw32-make.exe"正常退出。
  2. 找不到 ''。
  3. 请确保您的程序构建成功,并且在“应用程序”标签("运行选项")中选中。
  4. 17:49:09: 将Qt应用和库拷贝到Android包中...
  5. 17:49:09: 创建包文件...
  6. 17:49:09: 部署包: 运行命令 'S:/Programming/Android_SDK/apache-ant-1.9.1/bin/ant.bat clean debug'。
  7. Buildfile: build.xml does not exist!
  8. Build failed
  9. 打包错误:命令'S:/Programming/Android_SDK/apache-ant-1.9.1/bin/ant.bat clean debug'失败。退出代码: 1
  10. Error while building/deploying project MusicPlayer (kit: Android for arm (GCC 4.7, Qt 5.1.1))
  11. 当执行步骤 '正在为Android打包'时
还有


为啥我用Qt Quick 2.0,在编译时出现:
  1. Qt5 module "QtQuick" version 2.0 is not installed

错误?然后换成1.1就能编译了。



离线ashe0817

只看该作者 3楼 发表于: 2013-11-17
先收藏,也许以后用的上

只看该作者 4楼 发表于: 2013-11-19
好熟悉,O(∩_∩)O哈哈~,顶起!
微信公众号:高效程序员

Qt技术交流群: 26197884
QML技术交流群: 26188347

博客地址:https://waleon.blog.csdn.net
离线zgfree

只看该作者 5楼 发表于: 2013-11-20
学习下qml,收藏了。谢谢!
离线wzg_j

只看该作者 6楼 发表于: 2013-11-28
我是来看LZ照片的...
离线antiaphorism
只看该作者 7楼 发表于: 2013-11-30
已watch,感谢楼主分享!

我也在学习QML,最近想用QML做个小游戏来练手,我觉得做游戏比做普通应用要复杂一些,能学到更多特效技巧
离线jakes

只看该作者 8楼 发表于: 2013-12-01
回 7楼(antiaphorism) 的帖子
嗯,这是个好方法。不过我也才学QML,慢慢来吧。
离线ashe0817

只看该作者 9楼 发表于: 2014-06-05
qt5.3启动MusicPlayer.pro这个项目,界面是出来了,但是无法移动
离线alexmayer

只看该作者 10楼 发表于: 2014-06-07
非常好的代码,谢谢分享。
离线zgames

只看该作者 11楼 发表于: 2015-03-17
高手,火钳刘明。谢谢分享!
离线toby520

只看该作者 12楼 发表于: 2015-03-17
回 jakes 的帖子
jakes:有这个想法。我目前试图将程序编译到Android,但出现奇怪的错误。错误如下:
17:49:09: 进程"S:\Programming\Qt\Qt5.1.1_android\Tools\mingw48_32\bin\mingw32-make.exe"正常退出。
找不到 ''。
....... (2013-11-17 21:14) 

我还 没有看你的源码,我猜编译说少quick2.0 是因为你qml1和qml2混合用了吧
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
快速回复
限100 字节
 
上一个 下一个