freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的在線音樂播放器的設(shè)計(jì)-資料下載頁

2025-10-15 18:28本頁面

【導(dǎo)讀】的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議,表或撰寫過的作品成果。對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已。在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。計(jì)出一款能否播放在線音樂的音樂播放器。1)美觀時(shí)尚富有人性化的操作界面;2)顯示正在播放的一些歌曲信息;4)能夠控制歌曲的播放暫停,切歌等操作;5)歌曲列表刷新。2020年12月:論文開題寫好開題報(bào)告;2020年1月:翻閱資料并記錄與論文研究方向相關(guān)的要點(diǎn)和論據(jù);2020年5月:完善論文,交由指導(dǎo)老師評閱并定稿及完成畢業(yè)答辯。息后會進(jìn)行對應(yīng)的處理。聯(lián)系畢業(yè)設(shè)計(jì)指導(dǎo)導(dǎo)師,尋求有關(guān)畢業(yè)設(shè)計(jì)信息,確定設(shè)計(jì)課題方向與設(shè)計(jì)內(nèi)容。虛心向老師請教和同學(xué)進(jìn)行學(xué)習(xí)交流,保障畢業(yè)設(shè)計(jì)的順利完成。播放各種格式的音頻文件。但大多數(shù)的音樂播

  

【正文】 ,然后在構(gòu)造函數(shù)中通過一個(gè) for 循環(huán)生成。 /*************************************************************/ /* 將 sender強(qiáng)制轉(zhuǎn)換為 QPushButton,再對接收到的信號根據(jù)其 objectName集中處理 */ /*************************************************************/ void PlayControl::btnClicked() { QPushButton *btn = qobject_castQPushButton *(sender())。 for (int i=0。iPLAY_STATE_COUNT。i++) { if (btnobjectName() == pause) { btnhide()。 (2)show()。 } else if (btnobjectName() == play) { btnhide()。 (3)show()。 } 11 else setBtnState()。 if (btnobjectName()==g_BtnDescription[i].btnNme) { emit StateChanged(g_BtnDescription[i].state)。 break。 } } } 以上代碼就是將收到的控制按鈕點(diǎn)擊事件以消息的形式發(fā)送出去,已保持類的封裝性。 PlayList 歌曲切換類 功能描述: 此功能模塊實(shí)現(xiàn)通過一個(gè)變量控制當(dāng)前所播放的歌曲,并且如果歌曲到了第一首或最后一首就循環(huán)切換。代碼如下: const MusicList::MusicInfoamp。 PlayList:: GetNext() //下一首 { if (pmusiclisttotalRecordCountcurentIndex+1) curentIndex++。 else curentIndex = 0。 return pmusiclistlstMusicInfo[curentIndex]。 } const MusicList::MusicInfoamp。 PlayList:: GetPre() //上一首 { if (curentIndex0) curentIndex。 else curentIndex = pmusiclisttotalRecordCount1。 return pmusiclistlstMusicInfo[curentIndex]。 } const MusicList::MusicInfoamp。 PlayList::currentPlay() //獲取當(dāng)前播放歌曲信息 12 { return pmusiclistlstMusicInfo[curentIndex]。 } void PlayList::setcurIndex(int row, int page) //設(shè)置切換到那首歌 { curentIndex = row + page*g_listViewSize。qDebug()playlist:curentIndexg_listViewSize。 } int PlayList::getcurIndex() { return curentIndex。 } QListViewEx 歌曲列表類 功能描述: 此功能模塊實(shí)現(xiàn)通過一個(gè)對話框顯示歌曲的相關(guān)信息,并且高亮顯示當(dāng)前播放的歌曲,而且該列表支持用戶點(diǎn)擊播放。 流程描述: 運(yùn)行音樂播放器軟件,立即調(diào)用 Webservice 接口 [9], 等獲取到網(wǎng)絡(luò)反饋時(shí), 將接收到的 XML 文件先寫到本地緩存中去,然后通過調(diào)用函數(shù)解析該 XML 文件。將解析出來的信息存儲到一個(gè)全局的結(jié)構(gòu)體變量中,最后通過讀取該結(jié)構(gòu)體的信息將歌曲名顯示到列表中。 XML 文件解析 可擴(kuò)展標(biāo)記語言 (Extensible Markup Language, XML) ,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。 XML 是 標(biāo)準(zhǔn)通用標(biāo)記語言 (SGML) 的子集,非常適合 Web [10]傳輸。 XML 提供統(tǒng)一的方法來描述和交換獨(dú)立于 應(yīng)用程序 或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。 功能描述:此模塊主要是將 XML 格式的文件解析出來并存到一個(gè)全局的結(jié)構(gòu)體中。下面附上 XML 格式文件及解析代碼: 13 圖4-5網(wǎng)絡(luò)請求返回的 XML 數(shù)據(jù) /*********************************/ /*音樂播放列表結(jié)構(gòu)體 */ /*********************************/ struct MusicList { struct MusicInfo { QString name。 QString album。 QString singer。 QString path。 QString timeLength。 void Parse(const QDomNode amp。node)。 }。 int totalRecordCount。 QListMusicInfo lstMusicInfo。 14 void Parse(const QDomNode amp。node)。 }。 /*****************************************************/ /* 歌曲列表解析 */ /****************************************************/ void MusicList::Parse(const QDomNode amp。node) { QDomNodeList nlFriend = ().elementsByTagName(EntityMusic)。 ()。 int i = 0。 for (。 i ()。 i++) { QDomNode ndFriend = (i)。 MusicInfo friendinfo。 (ndFriend)。 (friendinfo)。 } totalRecordCount =i。 } void MusicList::MusicInfo::Parse(const QDomNode amp。node) { name = (name).text()。 album = (album).text()。 singer = (singer).text()。 path = (path).text()。 timeLength = (timeLength).text()。 } 主界面 GUI 及具體功能實(shí)現(xiàn) 界面各控件位置及大小設(shè)置 以下代碼主要功能就是繪制窗口主界面,設(shè)置各控件的位置、大小等,代碼如下: 15 CustomMusic::CustomMusic(QWidget *parent) : BaseWidget(parent) ,_currentPage(0) ,pages(0) { thissetTitle(QString::fromLocal8Bit(音樂點(diǎn)播 ))。//調(diào)用 BaseWidget 基類函數(shù) back_music = new QFrame(this)。 back_musicsetGeometry(0,65,426,387)。 back_musicsetObjectName(back_music)。 seekslider=new Phonon::SeekSlider(this)。//播放進(jìn)度條 seekslidersetMediaObject(STGlobals::instance().getMediaPlayer())。 seekslidersetGeometry(QRect(20,370,380,5))。 playControl=new PlayControl(this)。 //實(shí)例化 PlayControl 類做播放控件 playControlsetGeometry(QRect(20,410,0,0))。 connect(playControl, SIGNAL(StateChanged(PlayState)),this, SLOT(btnClicked(PlayState)))。 refresh = new QPushButton(QString::fromLocal8Bit(刷新 ),this)。 refreshsetGeometry(305,410,90,45)。 connect(refresh,SIGNAL(clicked()),this,SLOT(songlistRefresh()))。 refreshsetObjectName(refresh)。 listView=new QListViewEx(this)。 //實(shí)例化 QListViewEx 類做播放列表 listViewsetGeometry(440, 100, 280, 360)。 listViewsetViewMode(QListView::ListMode)。 listViewsetFrameStyle(QFrame::NoFrame)。 connect(listView, SIGNAL(clicked(const QModelIndex amp。)), this, SLOT(OnListViewClicked(const QModelIndex amp。)))。 sliderv= new QProgressBar(this)。 // 歌曲列表翻頁進(jìn)度條 slidervsetGeometry(721,100,4,350)。 slidervsetOrientation(Qt::Vertical)。 16 slidervsetTextVisible(false)。 slidervsetValue(100)。 slidervsetObjectName(sliderv)。 _scrollUp=new QPushButton(this)。 //上翻頁按鈕 _scrollUpsetGeometry(730,100,60,170)。 _scrollUpsetObjectName(scrollUp)。 connect(_scrollUp, SIGNAL(clicked()),this, SLOT(onScrollUp()))。 _scrollDown=new QPushButton(this)。 //下翻頁按鈕 _scrollDownsetObjectName(scrollDown)。 _scrollDownsetGeometry(730,280,60,170)。 connect(_scrollDown, SIGNAL(clicked()),this, SLOT(onScrollDown()))。 setBtnStyle()。 name = new QLabel(this)。 //歌曲信息顯示欄 namesetGeometry(30,100,300,40)。 album = new QLabel(this)。 albumsetGeometry(30,140,300,40)。 singer = new QLabel(this)。 singersetGeometry(30,180,300,40)。 curtime = new QLabel(this)。 .//時(shí)間顯示欄 curtimesetGeometry(20,375,50,20)。 curtimesetObjectName(curtime)。 totaltime = new QLabel(this)。 totaltimesetGeometry(350,375,50,20)。 totaltimesetAlignment(Qt::AlignRight)。 totaltimesetObjectName(totaltime)。 } 歌曲控制按鈕功能實(shí)現(xiàn) 該功能是通過用戶點(diǎn)擊按鈕, PlayControl 實(shí)例發(fā)送消息,當(dāng)前主界面接受消息后調(diào)用 PlayList實(shí) 例設(shè)置當(dāng)前歌曲播放序號,最后主界面得到播放序號后開始播放新的歌曲。主要用到了 Qt 的信號與槽機(jī)制。 void Custo
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1