基于QT的音乐播放器毕业答辩.ppt
文本预览下载声明
基于QT的音乐播放器设计与实现 背景: 在信息时代,随着数字信息产业化日益深入和广泛,多媒体技术也处于十分重要的地位,人们对音乐播放器的需求也不在局限于简单的能播放音频文件。人们对它的要求越来越高,最基本也的听到高品质的声音。对于音频播放软件的需求也不在是听音频那么简单了,现在的音频软件可以支持多种音频格式的播放,支持在线音乐下载,歌词显示,还有其它一些更人性化的功能,因此如何更好的实现音频播放器也就成为这一类应用的重要环节。 意义: 用简单的一句话说就是与平日人们的娱乐生活息息相关。 系统的背景及意义 系统需求分析 通过对软件需求的分析得出软件系统的基本功能需求,这款音乐播放器主要分为两大模块,第一大模块对本地音频的操作、第二大模块主要实现对在线音乐的操作。本地音乐操作包况本地歌曲添加、删除、播放、暂停、下一曲、音量调节、时间显示,在线音频操作包况歌曲在线搜索、自动添加搜索歌曲到临时列表、下载音乐到本地、在线歌词同步显示等功能。 工作原理 软件系统的基本功能需求图 播放器整体实现界面 播放器工作原理 播放器本地音频操作的具体实现 1.添加本地音频文件主要代码实现: 获取本地文件路径 QListQUrl list = QFileDialog::getOpenFileUrls(\ this, 本地歌曲添加 ,QUrl::fromLocalFile(/Users/paul/Desktop/audio)); 依次加入本地音频 for(i = 0; i list.size(); i++) localplaylist-addMedia(QUrl(list.at(i))); ui-listWidget-addItem(\ new QListWidgetItem(\ QIcon(:/images/point.png),\ list.at(i).fileName())); localplaylist-setCurrentIndex(0); ui-listWidget-setCurrentRow(0); QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。 } 打开文件夹实现效果图 打开文件夹后直接选中要播放的歌曲,一次可以选择一首也可以选择多首。 2.删除本地音频实现 根据QList提供的索引快速删除音频 ui-listWidget-takeItem(ui-listWidget-currentRow()); localplaylist-removeMedia(localplaylist-currentIndex()); 未删除前 点击删除后出现提示信息及点击OK后的实现删除效果图 播放器操做在线音频下载主要实现流程图 播放器操做在线音频主要实现 在线歌曲下载 void Widget::on_pb_song_clicked() { m_onDownloadSongName = m_onPlaySongName; if(isSongExist(m_onDownloadSongName)) { return; } const int onPlayCount = m_listPlay.count(); for(int i=0; ionPlayCount; ++i) { QString songName = m_listPlay.at(i).songName; if(songName == m_onDownloadSongName) { m_onPlayHash = m_listPlay.at(i).hash; requestDownloadSong(m_onPlayHash); break; }}} 在线歌曲实现下载 在线歌词主要用到的类 对歌词的操作主要用到QMap QMap: Map是一个很有用的数据结构。它以“键-值”的形式保存数据。在使用的时候,通过提供字符标示(键)即可得到想要的数据。这个“数据”即可以是一个字符串,也可以是任意对象,说明:map是以值传递的形式保存数据的。 map当中还可以保存类对象、自己定义类对象。 歌词下载的实现主要
显示全部