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

正文內(nèi)容

基于linux的音樂播放器設(shè)計與實現(xiàn)論文-在線瀏覽

2024-10-30 15:25本頁面
  

【正文】 Qt; Phonon The Design and Implementation of Music Player Based on Linux Specialty: Student Number: Student: Supervisor: Abstract: As an application, which is closely related to the people39。s life. This Music player is developed under Linux (Debian ) operating system with the Qt application development framework implementing the player39。Play39。Pause39。Previous track39。Next track39。Add files39。Delete files39。Switch background icon39。Minimize to tray39。s expected result. At the same time, the music player has a well performance in operational stability and economic cost. Key words: Music player。 Qt。現(xiàn)代科學(xué)技術(shù) 不斷 發(fā)展,人們 開始 使用網(wǎng)絡(luò)媒介 和 各種數(shù)據(jù)存儲設(shè)備,使得各種音頻 和 視頻資源的傳播更為便捷、迅速、廣泛 , 于是各種音樂播放器也緊跟著發(fā)展 了 起來 。因此設(shè)計 一款優(yōu)良的音樂播放器軟件 成了許多公司 和 個人的目標。但是, 它們之中有許多 都是根據(jù)特定的操作系統(tǒng) 來 開發(fā)的, 其中 很大一部分 都 沒有實現(xiàn)跨平臺的應(yīng)用, 為了應(yīng)對 不同的系操作 統(tǒng), 它們 只 能重新 開發(fā) 新 的版本。它 基于 Qt 開發(fā)框架 ,可以實現(xiàn)跨平臺應(yīng)用 ,能夠 在任何 它所 支持 的平臺上 編譯 、 執(zhí)行 相同的程序代碼 ,而不需要修改源代碼。 研究 基于 Linux的音樂播放器 具 有一定的 意義 。計算機行業(yè) 是 一個飛速發(fā)展的行業(yè), 我們 必須 跟上 它 的步伐,才 不 會 被社會淘汰。 本音樂播放 器 在 播放音頻文件方面 主要選擇 播放 本地文件 , 在功能方面 主要 具備一些基本的音樂操作功能,如:暫停、播放、音量調(diào)節(jié)、拖動、停止等。 2 1 系統(tǒng)開發(fā)平臺 介紹 Linux 簡介 Linux 是一種自由和開放源碼的計算機操作系統(tǒng)。 Linux 可安裝在各種各樣的電腦硬件設(shè)備,從手機、平板電腦、路由器和影音游戲控制臺,到桌上型電腦,大型 電腦和超級電腦。 Linux 操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴格來講, Linux 這個詞本身只表示 Linux 內(nèi)核,但在實際上人們已經(jīng)習(xí)慣了用 Linux 來形容整個基于 Linux 內(nèi)核,并且使用 GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)(也被稱為 GNU/ Linux)。一些流行的主流 Linux 發(fā)行版本,包括 Debian(及其衍生版本 Ubuntu), Fedora 和 openSUSE 等 [2,3]。第二類基于自由軟件的桌面操作系統(tǒng),特別是Linux 桌面操作系統(tǒng)。國內(nèi)如中標軟件、紅旗等系統(tǒng)軟件廠商 推出的 Linux桌面操作系統(tǒng),目前已經(jīng)在政府、企業(yè)、 OEM 等領(lǐng)域得到了廣泛應(yīng)用。但是,從系統(tǒng)的整體功能、性能來看, Linux 桌面系統(tǒng)與 Windows系列相比還有一定的差距,主要表現(xiàn)在系統(tǒng)易用性、系統(tǒng)管理、軟硬件兼容性、軟件的豐富程度等方面,如音樂播放器。 Linux 具有 的 主要特性 如下 [4]: (1) 開放性。 (2) 多 用戶。 3 (3) 多任務(wù)。 (4) 設(shè)備獨立性。 Qt 介紹 Qt 是一個跨平臺的 C++應(yīng)用程序開發(fā)框架 [5]。也可用于開發(fā)非 GUI 程序,比如控制臺工具和服務(wù)器。它是諾基亞( Nokia)的 Qt Development Frameworks 部門的產(chǎn)品。通過語言綁定,其他的編程語言也可以使用 Qt。所有版本都 支持 廣泛的編譯器,包括 GCC 的 C++編譯器和 Visual Studio。會自動依平臺的不同,表現(xiàn)平臺特有 的圖形界面風(fēng)格。 Qt 主要的優(yōu)勢如下: (1) 面向?qū)ο?。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件之間的協(xié)同工作變得十分簡單。 Qt 包括 250 個以上的 C++類,還提供基于模板的 collections,serialization, file, I/O device, directory management, date /time 類。 集成開發(fā)環(huán)境 Qt Creator 是一款跨平臺的集成開發(fā)環(huán)境, Qt Creator 是 Qt 被 Nokia 收購后推出的一款新的輕量級 IDE。 與移動設(shè)備 ,如: Symbian、 Maemo 和 MeeGo 上建構(gòu)和運行 Qt應(yīng)用程序 。它包括一個可視化偵錯工具和整合的 GUI 版面和外形設(shè)計師。根據(jù)官方描述, Qt Creator 的設(shè)計目標是使開發(fā)人員能夠利用 Qt 這個應(yīng)用程序框架更加快速及輕易的完成開發(fā)任務(wù)。在 Windows,預(yù)設(shè)安裝它可以使用 MinGW 或 MSVC。 在功能方面, Qt Creator 包括項目生成向?qū)?、高級? C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、 Qt Assistant、 Qt Linguist、圖形化的 GDB 調(diào)試前端,集成 qmake 構(gòu)建工具等 。 Qt Creator 主要 功能和優(yōu)勢 如下: (1) 使用強大的 C++代碼編輯器可快速編寫代碼 。 (2) 使用瀏覽工具管理源代碼 。 (3) 為 Qt 跨平臺開發(fā)人員的需求而量身定制 。 Phonon 簡介 Phonon 是 KDE( Kool Desktop Environment)的多媒體 API, 為使用音頻和視頻的應(yīng)用程 序開發(fā)提供的一個框架 [7]。Phonon 提供一個穩(wěn)定的 API 允許 KDE4 獨立于任何一個聲音系統(tǒng)服務(wù)器, Phonon 從一開始就被設(shè)計成 Qt 函數(shù)的風(fēng)格, Phonon 并非只能運行于 Unix 系統(tǒng),他的后端可以是在其它平臺如 Microsoft Windows 并提供相同的功能。 Phonon 讓各種后端提供界面給開發(fā)者所謂的 “ 引擎 ” , 每個引擎運作在一個具體的后端。 Phonon 也支持更高層次的功能,如讓音軌轉(zhuǎn)化之間變微弱。 5 2 系統(tǒng)分析 播放器舉例 Windows 下的音樂播放器 : Windows Media Player 是一款 Windows 系統(tǒng)自帶的播放器,支持通過插件增強功能,在 V7 及以后的版本,支持換膚。后來,在 Windows 98 當中內(nèi)置了 WMP64,這個版本存在于后續(xù)的操作系統(tǒng)中,并被一直保留至今。 Linux 下的音樂播放器 : (1) Audacious 與其它播放器的不同之處在于,它除了支持 UTF8 字符集之外,還提供其它字符集的支持,這樣能比較好的解決中文亂碼的問題。 (2) Juk 是一個很易用的播放器,而且界面方面做得比較美觀。 (3) Bmpx 相對前面兩者的特色在于最小化到托盤后的播放提示。不僅可以播放多種格式的音樂文件,還可以連接到互聯(lián)網(wǎng)中接受網(wǎng)絡(luò)收音機或者到網(wǎng)上音樂商店購買音樂 [4]。在缺乏商業(yè)化因素的支持下, Linux 音樂播放器的用戶體驗并不高。開發(fā)者也在想更加團隊、專業(yè)發(fā)展。本文設(shè)計并實現(xiàn)一款簡單的播放器,能夠?qū)崿F(xiàn)音樂播放器的6 一般基本功能。 基本功能 實現(xiàn) 音頻的播放,這是開發(fā)一款音樂播放器的最基本要求,能夠?qū)崿F(xiàn)音頻播放、暫停、停止、進度拖動、音量控制、上一首、下一首等基本功能。 為了方便用戶的使用,本文能夠?qū)⒂脩舻牟シ帕斜泶鎯υ诒镜匚募校斚到y(tǒng)下次啟動的時候,能夠獲取用戶的歷史播放列表,并且 將其添加進播放器的播放列表中。為了能夠使用戶清楚自己的播放歷史, 播放器 實現(xiàn)了播放歷史記錄功能,將用戶的播放歷史記錄在本地文件中,可以方便用戶的查看。 播放器基本設(shè)置 為了讓用戶對播放器有更好的體驗,本文實現(xiàn)了對播放器的設(shè)置功能,能夠?qū)Σシ牌鬟M行一些基本設(shè)置,將設(shè)置結(jié)果保存在播放器的配置文件中,每次播放器啟動的時候,首先讀取配置文 件,根據(jù)其中的內(nèi)容,配置播放器的相關(guān)項。 快捷鍵設(shè)置 為了方便用戶的操作,現(xiàn)在絕大部分的應(yīng)用軟件都設(shè)置有快捷鍵操作,能夠?qū)崿F(xiàn)對軟件的快捷操作。 上下文菜單設(shè)置 在播放器的設(shè)計過程中, 參照主流音樂播放器的一些特點, 為 本 播放器的托盤圖標,播放列表,和播放器的 主 窗體設(shè)置有相關(guān)的上下文菜單。比如,當用戶右鍵播放器托盤圖標的時候,彈出的菜單有:最小化、復(fù)原、設(shè)置等,當用戶右擊播放列表,彈出菜單有:刪除此歌曲、刪除全部歌曲、打開文件等功能。 經(jīng)濟可行性 Debian 是一種自由和開放源碼的類 Unix 操作系統(tǒng) ,系統(tǒng)軟件本身的安裝和使用都不需要任何費用。 提供給商業(yè)軟件開發(fā)。 (2) Qt 開源版 。 GNU 通用公共許可證下,它是免費的。所以,基于 Linux 的音樂播放器在開發(fā)過程中,不需要任何的附加費用,能夠?qū)崿F(xiàn) “ 零成本 ” 的可行性。 Qt 對于 大多數(shù)人 來 說,還是一個新事物,但是 它 只是一個跨平臺應(yīng)用程序和 UI 開發(fā)框架,而且這個項目對于 Qt 的運用不是很深入,只是對于某一些基本的理論知識的學(xué)習(xí)和運用。此項目使用過的編程語言是 C++,作為一項高級語言,與 C、 C、 Java都有很多相似性。 應(yīng)用分析 本文是在 Debian操作系統(tǒng)平臺上進行的開發(fā), 使用 Qt實現(xiàn) C++圖形用戶界面開發(fā) ,Phonon 實現(xiàn) 多媒體編程 。 只要操作系統(tǒng)安裝有 Qt 和 Phonon 的相關(guān)類庫,本播放器能夠在 Linux、 Windows、 Mac OS X 等操作系統(tǒng)上使用。本播放器實現(xiàn)了大部分基本功能,能夠滿足 用戶 一般的播放需要。界面觀感方面,桌面應(yīng)用程序除了自身的菜單欄和工具欄之外,沒有多余的菜單欄和工具欄。 通過以上分析,播放器的功能不是非常復(fù)雜,完成這個音樂播放器的知識大都已經(jīng)具備,所以能夠較好的完成。 (2) 查找相關(guān)資料 , 了解 QT Creator 的開發(fā)方式以及 QT 庫的使用,搭建 QT 平臺 。 在上述基礎(chǔ)上 ,做出音樂播放器的相關(guān)功能如下 : (1) 美觀、時尚的操作界面 。 (3) 音頻的播放 、 暫停 、 停止 、 快進等功能 。 (5) 通過播放列表來選擇播放曲目 。 (7) 音樂播放器的控制設(shè)置功能 等。 9 3 系統(tǒng)設(shè)計 Qt 信號與槽 機制 介紹 在以往的 GUI 用戶界面中,用戶操作一個窗口部件時,需要其他窗口部件的響應(yīng)或者能夠激活其他操作。但是,QT 不同于回調(diào)機制,他使用信號與槽機制。信號和槽是一種高級接口,應(yīng)用于對象之間的通信,它是 QT 的核心特性,也是 QT 區(qū)別于其它工具包的重要地方。 在人們 熟知的很多 GUI 工具包中,窗口小部件 (widget) 都有一個回調(diào)函數(shù)用于響應(yīng)它們能觸發(fā)的每個動作,這個回調(diào)函數(shù)通常是一個指向某個函數(shù)的指針。 信號和槽能攜帶任意數(shù)量和任意類型的參數(shù),他們是類型完全安全的,不會像回調(diào)函數(shù)那樣產(chǎn)生 core dumps。當對象改變其狀態(tài)時,信號就由該對象發(fā)射 (emit) 出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。槽用于接收信號,但它們是普通的對象成員函數(shù)。而且,對象并不了解具體的通信機制。總之,信號與槽構(gòu)造了一個強大的部件編程機制。只有定義過這個信號的類及其派生類能夠發(fā)射這個信號。信號 與 槽機制完全獨立于10 任何 GUI 事件循環(huán)。如果存在多個槽與某個信號相關(guān)聯(lián),那么,當這個信號被發(fā)射時,這些槽將會一個接一 個地 執(zhí)行,但是它們執(zhí)行的順序?qū)请S機的、不確定的,我們不能人為地指定哪個先執(zhí)行 , 哪個后執(zhí)行。例如,下面定義了 兩 個信號: signals: void mySignal()。 在上面的定義中, signals 是 QT 的關(guān)鍵字,而非 C/C++ 的。從形式上講信號的聲明與普通的 C++函數(shù)是一樣的,但是信號卻沒有函數(shù)體定義 。信號由 moc 自動產(chǎn)生,它們不應(yīng)該在 .cpp 文件中實現(xiàn) [6]。當與其關(guān)聯(lián)的信號被發(fā)射時,這個槽就會被調(diào)用。 既然槽是普通的成員函數(shù),因此與其它的函數(shù)一樣,它們也有存取權(quán)限。同普通的 C++ 成員函數(shù)一樣,槽函數(shù)也分為三種類型,即 public slots、 private slots 和 protected slots。 在這個區(qū)內(nèi)聲明的槽意味著任何對象都可將信號與之相連接。 (2) protected slots 類型。這適用于那些槽,它們是類實現(xiàn)的一部分,但是其界面接口卻面向外部。 在這個區(qū)內(nèi)聲明的槽意味著只有類自己可以將信號與之相連
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1