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

正文內(nèi)容

基于linux的音樂播放器設(shè)計與實現(xiàn)論文-wenkub.com

2024-08-23 15:25 本頁面
   

【正文】 測試者不需具備應(yīng)用程式的程式碼、內(nèi)部結(jié)構(gòu)和編程語言的專門知識。 (3) 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。當(dāng)然,測試計劃應(yīng)該在需求分析階段就已經(jīng)開始制定了。其中 “ Options” 選項 提供播放器的設(shè) 置功能; “ Minimize”、“ Restoration” 選項 用于 實現(xiàn) 播放器的最小化和恢復(fù)功能 ;“ Show History” 選項用來 實現(xiàn)顯 示播放 歷 史的功能; “ Quit” 選項 實現(xiàn) 退出程序功能。 QAction *minimizeAction = new QAction(QObject::tr(Minimize), parent)。 parenttrayIcon = new QSystemTrayIcon(parent)。 運行效果 如圖 310 所示 : 23 圖 310 播放器運行效果圖 圖 310 是播放 器 的運行效果圖 。為了讓漢字不出現(xiàn)亂碼情況,必須設(shè)置QSettings 的編碼方式:musicSettingssetIniCodec(QTextCodec::codecForName(UTF8))。 thisuifilepathLEditsetText(defaultOpenDir)。 如果 Minimize 被選中,則修改 文件 minimizeToTray= true, musicSettingssetValue(minimizeToTray,true)。 其中 QSettings::Format 有兩種 : (1) QSettings::NativeFormat 在 windows 平臺可以讀寫 windows 注冊表 ; (2) QSettings::IniFormat 可以讀寫 ini 格式的配置文件 。 播放器的設(shè)置界面如圖 36 所示 : 圖 36 播放器設(shè)置界面 21 QSettings 介紹 Qsettings 是 提供的一個讀取配置文件的類,提供獨立于平臺的程序設(shè)置,在windows 平臺,它提供了 ini 文件讀些,注冊表讀寫的功能,而且使用也非常簡單。 播放器設(shè)置 基于 Linux 的音樂播放器,在系統(tǒng)文件中存在一個系統(tǒng)配置文件:,用于保存播放器的相關(guān)配置信息。 thissetWindowState(Qt::WindowActive)。 } (9) 雙擊系統(tǒng)圖標(biāo) 為了方便用戶的使用,當(dāng)用戶雙擊播放器系統(tǒng)托盤圖標(biāo)時,可以實現(xiàn)播放器界面的顯示與隱藏。 } (8) 雙擊播放 在播放列表中顯示著當(dāng)前的播放播放列表,如果用戶想播放其中的某一首歌曲,可以通過雙擊該項實現(xiàn)歌曲的播放。 代碼實現(xiàn): 19 QStringList files=QFileDialog::getOpenFileNames(this,tr(Selec Files to play ) , defaultOpenDir, tr(*.mp3))。 mediaObjectsetCurrentSource((index))。 mediaObjectplay()。 代碼實現(xiàn): int index = sourceList。 代碼實現(xiàn): mediaObjectpause()。 QTime curTime(0,(time / 60000) % 60,(time / 1000) % 60)。 能夠?qū)崿F(xiàn)將歌曲長度和播放進度,在顯示界面顯示出來。 播放控制 系統(tǒng)實現(xiàn)的功能如圖 35 所示 [12]: 17 圖 35 播放器的 基本 功能 圖 35 是播放器的基本功能截圖, 包括:暫停、播放等功能。 將進度條 seekSlider 與媒體對象 mediaObject 進行關(guān)聯(lián), 使得 歌曲播放的 進度和 進度條,同時將音量控制條與音頻輸出設(shè)備連接: seekSlidersetMediaObject(mediaObject)。 audioOutput =new Phonon::AudioOutput(Phonon::MusicCategory,this)。此外,由于 QList 在鏈表兩端都預(yù)先分配了緩存以應(yīng)對鏈表兩端的快速添加操作,這樣就使得在 QList 的兩端插入或刪除元素變得非常 迅速 。 QlistT是 Qt 的一種泛型容器類。 (5) Phonon::VolumeSlider Class VolumeSlider 提供可以控制聲音裝置音量的 類 。所以它會連接到 MediaObject,并控制串流目前的位置。 (3) Phonon::createPath() 這是相當(dāng)重要的一個函 數(shù),主要用于建立一個 Path,連接兩個 MediaNodes,就是Source 與 Sink。 在 Phonon 術(shù)語中,我們要創(chuàng)建的 AudioOutput 對象叫做音頻接收槽。 15 用法 : Phonon::MediaObject *mediaObject=new Phonon::MediaObject(this)。 Phonon 函數(shù)成員 如圖 34 所示 [7]: 圖 34 主要的 Phonon 類 播放器 主要使用的 Phonon 類及使用 方法介紹如下 [11]: (1) Phonon::MediaObject Class MediaObject 主要提供一個能夠處理媒體播放的 類 。同樣, Phonon 庫也不知道,他只管搜索符合自己規(guī)范的插件。多媒體由 MediaObject 控制播放 , 而由 Sink 來處理這些多媒體 。 函數(shù) 基于 Linux 的播放器使用了 Phonon 多媒體框架和 Qt 框架的相關(guān)函數(shù),現(xiàn)簡要介紹如下。原因有:需要定位接受信號的對象;安全的遍歷所有的關(guān)聯(lián)(如 :一個信號關(guān)聯(lián)到多個槽);多線程,信號可能排隊等待。此機制會確保當(dāng)在 “ 連接 ” 信號和槽時,槽會接受信號的參數(shù)并且正確執(zhí)行。激發(fā)信號的 Qt 對象無需知道是哪個對象的 哪個槽需要接收它發(fā)出的信號,它需要做的是在適當(dāng)?shù)臅r間發(fā)送適當(dāng)?shù)男盘柧涂梢粤耍恍枰酪膊槐仃P(guān)心它的信號有沒有被接收到,更不需要 知道 是哪個對象的哪個槽接收到了信號,也就是說一個信號可以呼叫所有可用的槽。如果信號和槽的簽名不符,編譯器會報錯。 信號在任何執(zhí)行點上皆可發(fā)射,甚至可以在槽里再發(fā)射另一個信號,信號與槽的連結(jié)不限定為一對一的連結(jié), 一個信號可以連結(jié)到多個槽或多個信號連結(jié)到同一個槽,甚至信號也可連接到信號。 (2) 一個信號和多個槽關(guān)聯(lián) 。 Qt 利用信號與槽( signals/slots)機制取代傳統(tǒng)的 callback 來進行物件之間的溝通。 在上面的定義中, slots 是 QT 的關(guān)鍵字。 11 槽也能夠聲明為虛函數(shù),這也是非常有用的。這適用于那些槽,它們是類實現(xiàn)的一部分,但是其界面接口卻面向外部。 在這個區(qū)內(nèi)聲明的槽意味著任何對象都可將信號與之相連接。 既然槽是普通的成員函數(shù),因此與其它的函數(shù)一樣,它們也有存取權(quán)限。信號由 moc 自動產(chǎn)生,它們不應(yīng)該在 .cpp 文件中實現(xiàn) [6]。 在上面的定義中, signals 是 QT 的關(guān)鍵字,而非 C/C++ 的。如果存在多個槽與某個信號相關(guān)聯(lián),那么,當(dāng)這個信號被發(fā)射時,這些槽將會一個接一 個地 執(zhí)行,但是它們執(zhí)行的順序?qū)请S機的、不確定的,我們不能人為地指定哪個先執(zhí)行 , 哪個后執(zhí)行。只有定義過這個信號的類及其派生類能夠發(fā)射這個信號。而且,對象并不了解具體的通信機制。當(dāng)對象改變其狀態(tài)時,信號就由該對象發(fā)射 (emit) 出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。 在人們 熟知的很多 GUI 工具包中,窗口小部件 (widget) 都有一個回調(diào)函數(shù)用于響應(yīng)它們能觸發(fā)的每個動作,這個回調(diào)函數(shù)通常是一個指向某個函數(shù)的指針。但是,QT 不同于回調(diào)機制,他使用信號與槽機制。 (7) 音樂播放器的控制設(shè)置功能 等。 (3) 音頻的播放 、 暫停 、 停止 、 快進等功能 。 (2) 查找相關(guān)資料 , 了解 QT Creator 的開發(fā)方式以及 QT 庫的使用,搭建 QT 平臺 。界面觀感方面,桌面應(yīng)用程序除了自身的菜單欄和工具欄之外,沒有多余的菜單欄和工具欄。 只要操作系統(tǒng)安裝有 Qt 和 Phonon 的相關(guān)類庫,本播放器能夠在 Linux、 Windows、 Mac OS X 等操作系統(tǒng)上使用。此項目使用過的編程語言是 C++,作為一項高級語言,與 C、 C、 Java都有很多相似性。所以,基于 Linux 的音樂播放器在開發(fā)過程中,不需要任何的附加費用,能夠?qū)崿F(xiàn) “ 零成本 ” 的可行性。 (2) Qt 開源版 。 經(jīng)濟可行性 Debian 是一種自由和開放源碼的類 Unix 操作系統(tǒng) ,系統(tǒng)軟件本身的安裝和使用都不需要任何費用。 上下文菜單設(shè)置 在播放器的設(shè)計過程中, 參照主流音樂播放器的一些特點, 為 本 播放器的托盤圖標(biāo),播放列表,和播放器的 主 窗體設(shè)置有相關(guān)的上下文菜單。 播放器基本設(shè)置 為了讓用戶對播放器有更好的體驗,本文實現(xiàn)了對播放器的設(shè)置功能,能夠?qū)Σシ牌鬟M行一些基本設(shè)置,將設(shè)置結(jié)果保存在播放器的配置文件中,每次播放器啟動的時候,首先讀取配置文 件,根據(jù)其中的內(nèi)容,配置播放器的相關(guān)項。 為了方便用戶的使用,本文能夠?qū)⒂脩舻牟シ帕斜泶鎯υ诒镜匚募校?dāng)系統(tǒng)下次啟動的時候,能夠獲取用戶的歷史播放列表,并且 將其添加進播放器的播放列表中。本文設(shè)計并實現(xiàn)一款簡單的播放器,能夠?qū)崿F(xiàn)音樂播放器的6 一般基本功能。在缺乏商業(yè)化因素的支持下, Linux 音樂播放器的用戶體驗并不高。 (3) Bmpx 相對前面兩者的特色在于最小化到托盤后的播放提示。 Linux 下的音樂播放器 : (1) Audacious 與其它播放器的不同之處在于,它除了支持 UTF8 字符集之外,還提供其它字符集的支持,這樣能比較好的解決中文亂碼的問題。 5 2 系統(tǒng)分析 播放器舉例 Windows 下的音樂播放器 : Windows Media Player 是一款 Windows 系統(tǒng)自帶的播放器,支持通過插件增強功能,在 V7 及以后的版本,支持換膚。 Phonon 讓各種后端提供界面給開發(fā)者所謂的 “ 引擎 ” , 每個引擎運作在一個具體的后端。 Phonon 簡介 Phonon 是 KDE( Kool Desktop Environment)的多媒體 API, 為使用音頻和視頻的應(yīng)用程 序開發(fā)提供的一個框架 [7]。 (2) 使用瀏覽工具管理源代碼 。 在功能方面, Qt Creator 包括項目生成向?qū)?、高級? C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、 Qt Assistant、 Qt Linguist、圖形化的 GDB 調(diào)試前端,集成 qmake 構(gòu)建工具等 。根據(jù)官方描述, Qt Creator 的設(shè)計目標(biāo)是使開發(fā)人員能夠利用 Qt 這個應(yīng)用程序框架更加快速及輕易的完成開發(fā)任務(wù)。 與移動設(shè)備 ,如: Symbian、 Maemo 和 MeeGo 上建構(gòu)和運行 Qt應(yīng)用程序 。 Qt 包括 250 個以上的 C++類,還提供基于模板的 collections,serialization, file, I/O device, directory management, date /time 類。 Qt 主要的優(yōu)勢如下: (1) 面向?qū)ο?。所有版本都 支持 廣泛的編譯器,包括 GCC 的 C++編譯器和 Visual Studio。它是諾基亞( Nokia)的 Qt Development Frameworks 部門的產(chǎn)品。 Qt 介紹 Qt 是一個跨平臺的 C++應(yīng)用程序開發(fā)框架 [5]。 3 (3) 多任務(wù)。 Linux 具有 的 主要特性 如下 [4]: (1) 開放性。國內(nèi)如中標(biāo)軟件、紅旗等系統(tǒng)軟件廠商 推出的 Linux桌面操作系統(tǒng),目前已經(jīng)在政府、企業(yè)、 OEM 等領(lǐng)域得到了廣泛應(yīng)用。一些流行的主流 Linux 發(fā)行版本,包括 Debian(及其衍生版本 Ubuntu), Fedora 和 openSUSE 等 [2,3]。 Linux 操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。 2 1 系統(tǒng)開發(fā)平臺 介紹 Linux 簡介 Linux 是一種自由和開放源碼的計算機操作系統(tǒng)。計算機行業(yè) 是 一個飛速發(fā)展的行業(yè), 我們 必須 跟上 它 的步伐,才 不 會 被社會淘汰。它 基于 Qt 開發(fā)框架 ,可以實現(xiàn)跨平臺應(yīng)用 ,能夠 在任何 它所 支持 的平臺上 編譯 、 執(zhí)行 相同的程序代碼 ,而不需要修改源代碼。因此設(shè)計 一款優(yōu)良的音樂播放器軟件 成了許多公司 和 個人的目標(biāo)。 Qt。Minimize to tray39。Delete files39。Next track39。Pause39。s life. This Music player is developed under Linux (Debian ) operating system with the Qt application development framework implementing the player39。 測試表
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1