Qt 音乐播放器

无聊做个音乐播放器程序,基于Qt平台

首先通过百度查找资料,确定思路。第一步实现最基本的功能:一键播放指定的歌曲,音乐是MP3格式,这个很简单。但是实现后发现不能正常播放,于是在Qt帮助页面里搜素QMediaPlayer这个类,发现网上的例子只是简单的翻译了官方文档,没有找到音乐不能播放的原因。然后通过百度Qt给出的错误提示“Unresolved error code 0x80040266 ()”,发现别人也遇到过这样的问题,解决办法是通过安装LAV Filters这个软件解决的。原因是Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以需要安装一个DirectShow解码器,例如LAV Filters。

接下来要完成音乐播放器的列表播放功能,于是仔细查看了QMediaPlayer类的help文档,并在程序中jump到QMediaPlayer类的.h文件,发现类声明中没有成员变量的声明,于是百度到这个帖子https://www.cnblogs.com/findumars/p/6274918.html,另外,如果想查看源码实现,也就是.cpp文件,需要在安装Qt Creater时勾选Source code选项,我想看下源码,于是卸载并重新安装Qt Creater。


现在需要为音乐播放器添加列表播放功能,使用QMediaPlaylist这个类实现歌曲列表。当选择添加某首歌到歌曲列表时,需要查看歌单里是否已存在。QMediaPlaylist类并没有提供这个功能,所以我用for循环来比较要添加的歌和列表中已存在的,来实现这个功能。经过编程调试发现列表里每项取出来会在字符串头部加上“file:///”,所以又用Qstring中的mid函数截取字符串。

你可能感兴趣的:(Qt 音乐播放器)