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

正文內(nèi)容

畢業(yè)設(shè)計---mp3播放器的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計-資料下載頁

2025-01-19 04:56本頁面

【導(dǎo)讀】隨著Linux系統(tǒng)主要有服務(wù)器向普通用戶擴(kuò)展,越來越多的人開始接觸并使用Linux系統(tǒng),用戶界面和強大的網(wǎng)絡(luò)功能等等一系列優(yōu)勢。在Linux下的Qt是一款跨平臺的圖形開發(fā)軟件,播放控件和Qt開發(fā)而成。該播放器實現(xiàn)了播放MP3,并且支持其他的一些常見的媒體文件,如:。MIDI、DAT、ASF、MPG和WAV等。媒體文件和歌詞文件的處理流程。最后,論文介紹了系統(tǒng)的運行環(huán)境及運行效果,并對各個部分。進(jìn)行了圖示說明。

  

【正文】 結(jié)束語 面對軟件市場上的各種各樣的媒體播放器,要設(shè)計一個非常優(yōu)秀的并非常有競爭力的 MP3 音樂播放器,并不是一件容易的事。但我還是設(shè)計實現(xiàn)了一個自制的帶歌詞實時顯示的 MP3 播放器,這不僅僅讓我學(xué)到了很多有關(guān)多媒體方面的知識,還讓我了解到了如何去設(shè)計,并實現(xiàn)一個音樂播放器,以及如何實現(xiàn)播放器的各種功能,尤其是歌詞的實時顯示。通過設(shè)計此系統(tǒng),我學(xué)到了不少有用的知識,這些將對我今后的學(xué)習(xí)與工作有很大的幫助。首先,通過此播放器系統(tǒng)的設(shè)計,我對于設(shè)計開發(fā)一個軟件系統(tǒng)的工作流程有了進(jìn)一步的認(rèn)識,明 白了軟件開發(fā)過程中各個階段的基本任務(wù),以及各個階段之間的聯(lián)系,明確了軟件開發(fā)中形成的文檔資料的重要性。 第二,通過此播放器系統(tǒng)的設(shè)計,我基本上掌握了怎樣使用 Qt 和 c++來編寫多媒體應(yīng)用程序。 當(dāng)然,由于這是我第一次進(jìn)行多媒體系統(tǒng)的開發(fā)工作,所開發(fā)出來的系統(tǒng)不可避免地存在著一些不足,我會在今后的學(xué)習(xí)工作中逐步加以改進(jìn)。在這個軟件的編制過程中,我參看了大量的書籍與資料,但由于能力水平有限,在程序中肯定有較多不完善的地方??傮w來說,通過本學(xué)期的畢業(yè)設(shè)計,我在帶歌詞實時顯示的音樂播放器系統(tǒng)的開發(fā)、 Qt 及 C++編程等 方面有了一定的進(jìn)步,為以后從事更大型的軟件設(shè)計奠定了堅實的基礎(chǔ)。 雖然完成了支持歌詞的 MP3 播放器的設(shè)計與實現(xiàn), 但是本播放器還是有待進(jìn)一步改進(jìn)完善的地方: (1) 本系統(tǒng)現(xiàn)在可以在播放 MP3 的同時實時顯示歌詞,并隨著播放進(jìn)度的改變而上下滾動,但是控制精度還不夠高,直接導(dǎo)致歌詞的實時顯示不能高亮顯示當(dāng)前正在播放的一句歌詞,而只能將其控制在一定的范圍內(nèi)。 (2)本系統(tǒng)沒能實現(xiàn)像千千靜聽一樣的 LRC 歌詞的自動下載關(guān)聯(lián),因為不具備千千靜聽其強大的歌詞下載服務(wù)器和龐大的用戶群為其提供 LRC 歌詞的制作,期待在今后可以找到 變通的解決方法。 河南城建學(xué)院本科畢業(yè)設(shè)計(論文) 致謝 30 致 謝 在開發(fā)過程中,我本著將所學(xué)的理論知識應(yīng)用于實踐的思想,開發(fā)出高質(zhì)量系統(tǒng)的目的,進(jìn)行了詳細(xì)的調(diào)研,細(xì)致耐心的開發(fā)與設(shè)計,以刻苦鉆研,實事求是的態(tài)度開發(fā)出本系統(tǒng)。最重要的是通過開發(fā)與設(shè)計,鍛煉了我們分析問題以及進(jìn)行合理規(guī)劃與分析設(shè)計的能力,同時對開發(fā)工具的使用能力也有大幅度提高。我們將所學(xué)的理論知識結(jié)合到了實際的應(yīng)用中去,實際的動手能力也有明顯的提升 。 軟件的開發(fā)是一個漫長而又細(xì)致的過程 ,在這個過程中學(xué)習(xí)到了很多知識和一些很有用處的溝通方式 ,感謝學(xué)校 ,感謝周圍的同學(xué)朋友。 本系統(tǒng)能 夠順利開發(fā)完成,除了自己的努力外,還與王 老師的悉心指導(dǎo)是分不開的。在系統(tǒng)設(shè)計期間我遇到了很多問題,根據(jù)祝毅鳴的指點,查閱相關(guān)資料,才能使我順利攻克一個個難關(guān),最終設(shè)計開發(fā)完成了支持歌詞的音樂播放器系統(tǒng)。其次,我衷心感謝周圍的同學(xué),是他們及時給我提供很多重要的信息,對播放器進(jìn)行試用并提出很多修改意見,完善美化了播放器的設(shè)計。我能夠順利完成畢業(yè)設(shè)計,是我們同學(xué)間團(tuán)結(jié)互助、共勉努力的結(jié)果。再次,深深感謝精心培養(yǎng)教育自己的母校,在母校嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)范下,才培養(yǎng)出了良好的求知精神和勇敢面對挫折的決心,沒有母校的栽培就沒 有今天的一切成績。 河南城建學(xué)院本科畢業(yè)設(shè)計(論文) 參考文獻(xiàn) 31 參考文獻(xiàn) [1] Marshall P. Cline and Greg A. Lomow, C++ FAQs, AddisonWesley, 1995 [2] Bruce Eckel, Thinking in C++( C++ 編程思想,劉宗田 等譯),機(jī)械工業(yè)出版社, 2021 [3] Steve Maguire, Writing Clean Code(編程精粹,姜靜波 等譯),電子工業(yè)出版社, 1993 [4] 蔡志明,盧傳福 精通 Qt編程 ,電子工業(yè)出版社 2021 [5] Robert B. Murry, C++ Strategies and Tactics, AddisonWesley, 1993 [6] Steve Summit, C Programming FAQs, AddisonWesley, 1996 [7] Jasmin Blanchette C++ GUI Programming with QT Second Edition,電子工業(yè)出版社, 2021 [8](加)布蘭切特,(英)薩默菲爾德 [ (第二版 )] 電子工業(yè)出版社 2021 [9] 成潔 , 盧紫毅 Linux 窗口程序設(shè)計清華大學(xué)出版社 2021 [10] Kenh C 和指針 人民郵電出版社 2021 [11] 譚浩強 C++程序設(shè)計 清華大學(xué)出版社 2021 [12] 楊學(xué)明,劉佳海 面向?qū)ο蟮某绦蛟O(shè)計 C++實訓(xùn) 科學(xué)出版社 2021 [13] 陳衛(wèi)衛(wèi) C/C++程序設(shè)計 希望電子出版社 2021 [14] 徐孝凱 C++語言基礎(chǔ)教程 清華大學(xué)出版社 2021 [15] Daniel Solin 24 小時學(xué)通 Qt編程 人民郵電出版社 2021 [16] 朱寵 伍 ,盧紫毅 窗口程序設(shè)計清華大學(xué)出版社 2021 [17] Kenh C 程序設(shè)計基礎(chǔ)教程 人民郵電出版社 2021 [18] 唐文強 C++程序設(shè)計 清華大學(xué)出版社 2021 [19] 楊學(xué)明,倪慶祝 面向?qū)ο蟮某绦蛟O(shè)計 C++實訓(xùn) 科學(xué)出版社 2021 [20] 張文輝 C++項目大全 希望電子出版社 2021 32 附 錄 A 系統(tǒng)主函數(shù)代碼 include QtGui/QApplication include include QTextCodec int main(int argc, char *argv[]) { QApplication a(argc, argv)。 QTextCodec::setCodecForTr(QTextCodec::codecForName(GB18030))。 QTextCodec::setCodecForCStrings(QTextCodec::codecForName(GB18030))。 QTextCodec::setCodecForLocale(QTextCodec::codecForName(GB18030))。 Widget w。 ()。 return ()。 } 控制界面函數(shù)代碼 include QtGui Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { uisetupUi(this)。 mList = new musicList(this)。 mListsetFixedSize(300,320)。//固定播放列表的大小 mListuitableWidgetsetColumnWidth(0,150)。 mListuitableWidgetsetColumnWidth(1,150)。 connect(mListuitableWidget,SIGNAL(cellDoubleClicked(int,int)),SLOT(tableWidget_cellDoubleClicked(int,int)))。 // mListshow()。 connect(mList,SIGNAL(listClose()),uitoolButton_List,SLOT(toggle()))。 33 text = new QTextEdit(this)。 texthide()。//用于查找下句歌詞以計算時間間隔 uitextEditsetVisible(false)。//文本編輯框不可見,(解析歌詞) thissetAcceptDrops(true)。 thissetFixedSize(300,150)。 thissetWindowTitle(tr(音樂播放器 ))。 readSettings()。//讀取上次關(guān)閉窗口時窗 口的位置 QPalette palette = uilabel_lrcpalette()。//設(shè)置窗體內(nèi)歌詞顏色 (QPalette::WindowText,Qt::darkBlue)。 uilabel_lrcsetPalette(palette)。 lrc = new lrcWindow(0)。//桌面歌詞 // lrcshow()。 /**初始化媒體 **/ audio =new Phonon::MediaObject()。//媒體對象 audiosetTickInterval(1)。 audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory)。//音頻輸出 Phonon::createPath(audio,audioOutput)。//連接媒體對象與音頻輸出 musicInformationMediaObject = new Phonon::MediaObject(this)。 //音樂信息對象 volumeSlider = new Phonon::VolumeSlider(audioOutput,this)。 //音量滑動條 volumeSlidermove(190,80)。 volumeSliderresize(50,20)。 volumeSlidersetStyleSheet(backgroundcolor:rgb(255,255,255,100))。 volumeSlidersetFixedWidth(100)。//固定音量條大小 seekSlider = new Phonon::SeekSlider(audio,this)。 //進(jìn)度滑動條 seekSlidermove(10,35)。 seekSliderresize(170,20)。 34 seekSlidersetStyleSheet(backgroundcolor:rgb(255,255,255,100))。 connect(audio,SIGNAL(tick(qint64)),this,SLOT(showTime(qint64)))。//時間顯示與歌詞的更新 connect(audio,SIGNAL(stateChanged(Phonon::State,Phonon::State)), this,SLOT(mediaObjectStateChanged(Phonon::State,Phonon::State)))。 connect(musicInformationMediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(musicInformationStateChanged(Phonon::State,Phonon::State)))。 //當(dāng)加入新音樂時執(zhí)行 connect(audio,SIGNAL(aboutToFinish()),this,SLOT(musicAboutToFinish()))。 connect(audio,SIGNAL(currentSourceChanged(Phonon::MediaSource)),this, SLOT(currentMusicSourceChanged(Phonon::MediaSource)))。 connect(lrcexit,SIGNAL(triggered(bool)),uitoolButton_lrcD,SLOT(setChecked(bool)))。 timer = new QTimer(this)。//定時器,若 秒不顯示歌詞,則顯示 “Music ...” timerstart(100)。 connect(timer,SIGNAL(timeout()),SLOT(Timeout()))。 //只對標(biāo)題欄范圍內(nèi)的鼠標(biāo)事件進(jìn)行處理 thisclose()。 } } void Widget::readSettings()//讀取主窗口的位置信息 { QSettings settings(wangweilinux, Phonon Example)。 35 QPoint pos = (pos, QPoint(400,200)).toPoint()。 //QSize size = (size, QSize(298,412)).toSize()。 move(pos)。 //resize(size)。 } void Widget::closeEvent(QCloseEvent *e)//關(guān)閉事件 { writeSettings()。 mListlistWriteSettings()。 if(thisisVisible()) { thishide()。 mListhide()。 trayiconshowMessage(tr(音樂播放器 ),tr(最小化到系統(tǒng)托盤,要關(guān)閉請
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1