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

正文內(nèi)容

基于linux的音樂播放器設(shè)計與實現(xiàn)論文(更新版)

2024-10-18 15:25上一頁面

下一頁面
  

【正文】 果如圖 39 所示 : 圖 39 打開文件路徑存儲正常顯示 播放器界面設(shè)計 基于 Linux 的音樂播放器,系統(tǒng)配置文件: ,用于保存系統(tǒng)的相關(guān)配置信息,系統(tǒng)啟動的時候,會讀取配置文件獲取必要的界面配置信息,根 據(jù)相關(guān)的配置信息設(shè)置播放器。 parenttrayIconsetIcon(icon)。 24 4 系統(tǒng)測試 測試介紹 軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件品質(zhì),并對其是否能滿足設(shè)計要求進行評估的過程。 總體來說,軟件測試的目標是,以最小的工作量和成本盡可能多的發(fā)現(xiàn)軟件系統(tǒng)中的潛在的各種錯誤和缺陷,以保證軟件系統(tǒng)的正確性和可靠性 [17]。 黑箱測試: 主要用于 測試應(yīng)用程式的功能,而不是其內(nèi)部結(jié)構(gòu)或運作。在一般情況下,軟件測試過程與 整個軟件開發(fā)過程基 本上是平行進行的。 parenttrayIconshow()。 pauseIcon = QIcon(skinPath+“”)。 QString defaultOpenDir=QFileDialog::getExistingDirectory(this,Select the default file 22 directory),oldOpenDir)。 fileName,Format format, QObject * parent= 0)。 } } 這樣當用戶在雙擊系統(tǒng)托盤圖標后,就會實現(xiàn)最小化和還原。 void MainWindow::doubleClicked(int row, int ) { mediaObjectsetCurrentSource(sourceList[row])。 (7) 打 開 文件 在播放器啟動后,播放器的播放列表默認是空的,需要用戶手動添加播放列表,此時用戶可以通過打開按鈕,彈出打開系統(tǒng)默認的打開 文件對話框選擇歌曲文件。 mediaObjectsetCurrentSource((index))。 } 18 (2) 暫停 當播放器處于播放狀態(tài)是,想暫停播放歌曲,可以點擊 暫停按鍵時 ,這時將暫停播放,再次點擊此按鍵,將繼續(xù)從當前歌曲暫停處播放。 顯示歌 曲長度, mediaObject 在播放過程中發(fā)出 tick( qint64)信號 ,將 mediaObject的 tick( qint64)信號和自定義槽 showTime(qint64)關(guān)聯(lián)。 將 媒體對象( mediaObject) 和 音頻輸 出設(shè)備( audioOutput)使用函數(shù) Phon on::createPath()連接起來 : Phonon::createPath(mediaObject, audioOutput)。元素個數(shù)小于 1000的 QList能夠很快地實現(xiàn)在鏈表中間插入操作,以及快速的查找操作。 seekSlider show()。 用法: AudioOutput *audioOutput=new AudioOutput(Phonon::MusicCategory, this)。 ○ 2 VideoWidget-影像播放 。 Phonon 其實什么都不干,他只是提供了一套 API 接口,這套接口可以給你的程序調(diào)用,同時也是給編寫后端插14 件提供一個規(guī)范。相對于信號與槽帶來的靈活與簡便,這點性能損失是可以接受的。即使關(guān)聯(lián)的對象在運行時被刪除,應(yīng)用程序也不會出現(xiàn)崩潰。信號和其接受的槽之間傳遞的資料型態(tài)必須要相符合,需要關(guān)聯(lián)的信號和槽的簽名必須是等同的,即信號的參數(shù)類型和參數(shù)個數(shù)與接12 受該信號的槽的參數(shù)類型和參數(shù)個數(shù)相同;不過,一個槽的參數(shù)個數(shù)是可以少于信號的參數(shù)個數(shù),但缺少的參數(shù)必須是信號參數(shù)的最后一個或幾個參數(shù)。信號與槽的關(guān)聯(lián)關(guān)系有以下幾種模式: (1) 一個信號和槽關(guān)聯(lián) 。 void mySlot(int x)。 在這個區(qū)內(nèi)聲 明的槽意味著當前類及其子類可以將信號與之相連接。槽可以有參數(shù),但槽的參數(shù)不能有缺省值。 void mySignal(int x)。 信號 當某個信號對其客戶或所有者發(fā)生的內(nèi)部狀態(tài)發(fā)生改變,信號被一個對象發(fā)射。 所有從 QObject 或其子類 (例如 Qwidget) 派生的類都能夠包含信號和槽。在程序開發(fā)中,經(jīng)常使用回調(diào)( callback)機制來實現(xiàn)。 (2) 滾動顯示正在播放的歌曲及其長度信息 。 資源獲取途徑方面,本 播放器 可以不受限制地獲取本地 計算機上的所有資源,同時8 資源獲取方便快捷。同時在 Linux 下使用 Qt 的集成開發(fā)環(huán)境 Qt Creator 與在 windows 平臺下沒有太大差別。它們提供傳 統(tǒng)商業(yè)軟件發(fā)行版并且提供在協(xié)議有效期內(nèi)的免費升級和技術(shù)支持 服務(wù) 。本文也根據(jù)需要設(shè)置了相關(guān)的快捷鍵,實現(xiàn)對播放器的控制。同時,在用戶使用播放器的過程中,能夠打開本地音頻文件,將文件動態(tài)的添加到播放器當前播放列表,實現(xiàn)文件的打開操作 [8]。 雖 然 Linux上的音樂播放軟件并不缺 乏,但是很多的軟件技術(shù)層面并不是非常超前,只是簡簡單單,一切都 由 插件搞定,只是靠它整合的完整性讓人簡簡單單完成音樂播放的任務(wù)。 另外, Windows 有千千靜聽、 音樂、酷狗音樂等優(yōu)秀播放器,功能十分完善,界面十分華麗,設(shè)計人性化,操作靈活、簡單,種類十分豐富。正是由于 Phonon 能夠?qū)崿F(xiàn)跨平臺使用,使得 和之后版本使用了 Phonon,作為跨平臺的音頻 和 視頻 播放。 語法標識和代碼完成功能輸入時進行靜態(tài)代碼檢驗以及提示樣式上下文相關(guān)的幫助代碼折疊括號匹配和括號選擇模式高級編輯功能 。這個編輯器的功能包括語法高亮度顯示和自動完成。 (2) 豐富的 API。 Qt 是自由且開放源代碼的軟件,在 GNU 較寬松公共許可證條款下發(fā)布。將外部設(shè)備統(tǒng)一視為文件,只要安裝它們的驅(qū)動程序,任何用戶都可以像使用文件一樣操縱、使用設(shè)備,而不必知道它們的具體存在形式。 Linux 發(fā)展非常迅速,這與它具有的良好特性是分不開的。通常情況下, Linux 被打包成供桌上型電腦和服務(wù)器使用的 Linux 發(fā)行版本。 它 在穩(wěn)定性、視覺效果、歌曲庫的大小等方面可能遠不如當今的 許多 播放軟件,但是它小巧 并且易移植, 能夠?qū)崿F(xiàn)跨平臺運行 。 本文主要研究的 就是 基于 Linux 的音樂播放器 。 Linux。 function, 39。 function, 39。本播放器 實現(xiàn)了 音樂播放器的基本功能,包括 “ 播放 ” 、 “ 暫停 ” 、 “ 上一曲 ” 、 “ 下一曲 ” 、 “ 添加文件 ” 、 “ 刪除文件 ” 、 “ 切換背景圖標 ” 、 “ 最小化到托盤 ” 等 功能 。 關(guān)鍵詞: 音樂播放器 ; Linux; 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。Previous track39。Switch background icon39?,F(xiàn)代科學技術(shù) 不斷 發(fā)展,人們 開始 使用網(wǎng)絡(luò)媒介 和 各種數(shù)據(jù)存儲設(shè)備,使得各種音頻 和 視頻資源的傳播更為便捷、迅速、廣泛 , 于是各種音樂播放器也緊跟著發(fā)展 了 起來 。 研究 基于 Linux的音樂播放器 具 有一定的 意義 。 Linux 可安裝在各種各樣的電腦硬件設(shè)備,從手機、平板電腦、路由器和影音游戲控制臺,到桌上型電腦,大型 電腦和超級電腦。第二類基于自由軟件的桌面操作系統(tǒng),特別是Linux 桌面操作系統(tǒng)。 (2) 多 用戶。也可用于開發(fā)非 GUI 程序,比如控制臺工具和服務(wù)器。會自動依平臺的不同,表現(xiàn)平臺特有 的圖形界面風格。 集成開發(fā)環(huán)境 Qt Creator 是一款跨平臺的集成開發(fā)環(huán)境, Qt Creator 是 Qt 被 Nokia 收購后推出的一款新的輕量級 IDE。在 Windows,預(yù)設(shè)安裝它可以使用 MinGW 或 MSVC。 (3) 為 Qt 跨平臺開發(fā)人員的需求而量身定制 。 Phonon 也支持更高層次的功能,如讓音軌轉(zhuǎn)化之間變微弱。 (2) Juk 是一個很易用的播放器,而且界面方面做得比較美觀。開發(fā)者也在想更加團隊、專業(yè)發(fā)展。為了能夠使用戶清楚自己的播放歷史, 播放器 實現(xiàn)了播放歷史記錄功能,將用戶的播放歷史記錄在本地文件中,可以方便用戶的查看。比如,當用戶右鍵播放器托盤圖標的時候,彈出的菜單有:最小化、復(fù)原、設(shè)置等,當用戶右擊播放列表,彈出菜單有:刪除此歌曲、刪除全部歌曲、打開文件等功能。 GNU 通用公共許可證下,它是免費的。 應(yīng)用分析 本文是在 Debian操作系統(tǒng)平臺上進行的開發(fā), 使用 Qt實現(xiàn) C++圖形用戶界面開發(fā) ,Phonon 實現(xiàn) 多媒體編程 。 通過以上分析,播放器的功能不是非常復(fù)雜,完成這個音樂播放器的知識大都已經(jīng)具備,所以能夠較好的完成。 (5) 通過播放列表來選擇播放曲目 。信號和槽是一種高級接口,應(yīng)用于對象之間的通信,它是 QT 的核心特性,也是 QT 區(qū)別于其它工具包的重要地方。槽用于接收信號,但它們是普通的對象成員函數(shù)。信號 與 槽機制完全獨立于10 任何 GUI 事件循環(huán)。從形式上講信號的聲明與普通的 C++函數(shù)是一樣的,但是信號卻沒有函數(shù)體定義 。同普通的 C++ 成員函數(shù)一樣,槽函數(shù)也分為三種類型,即 public slots、 private slots 和 protected slots。 在這個區(qū)內(nèi)聲明的槽意味著只有類自己可以將信號與之相連接。 槽 的返回類型都是 void。 一個信號與多個槽關(guān)聯(lián)的情況下,當發(fā)出信號的時候,與此信號關(guān)聯(lián)的各個槽之間以任意的先后順序立即執(zhí)行,即:槽函數(shù)之間的執(zhí)行順序是隨機的,與信號和槽關(guān)聯(lián)的先后沒有關(guān)系。 (2) 松散耦合的。 信號和槽機制增強了對象間通信的靈活性,然而也損失了一些性能。 Media Object( 媒體對象 ) 管理一個 Media Source( 媒13 體源 ) ,比如一個音樂文件;它提供了簡單的播放控制 ,比如開始、停止和暫停播放。而后端才是實際進行讀入媒體、解碼并且播放的部分,他們和后端插件是一一對應(yīng)的。 (2) Phonon::AudioOutput Class AudioOutput 類別主要是用來把多媒體的聲音送到聲音輸出裝置。用法: Phonon::Path path=Phonon::createPath(mediaObject, audioOutput)。 volumeSlidersetAudioOutput(audioOutput)。 播放器的基本功能 在使用 Phonon 多媒體框架前,需要在項目額外設(shè)定使用 Phonon 模組,必須要在qmaek project file(即 .pro)中加入: QT += phonon,將 Phonon 庫添加進項目 [6]。 最后,將進度條和音量 控制條顯示在主窗口中: seekSlidershow()。 void MainWindow::showTime(qint64 time) { qint64 temp = mediaObjecttotalTime()。 代碼實現(xiàn): mediaObjectstop()。 代碼實現(xiàn): int index = (mediaObjectcurrentSource())1。 foreach(QString file,files) { (file)。 代碼實現(xiàn): connect(thistrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconActivated(QSystemTrayIcon::ActivationReason)))。如果用戶選擇 OK按鈕,將保存設(shè)置。 QSettings 的使用 在本文中使用 QSettings 類來實現(xiàn)播放器設(shè)置 [15],將結(jié)果保存在系統(tǒng)文件 中,配置文件內(nèi)容如 圖 37 所示 : 圖 37 文件 (1) minimizeToTray 是否允許播放器最小化到托盤 ; (2) defaultOpenDir 默認添加文件打開目錄 ; (3) skinPath 界面背景圖像路徑 。 QSettings 的亂碼問題 由于漢字的存儲不同于英文字符,所以不能使用 ASCII 字符集進行編碼,在使用QSettings 的過程中,會出現(xiàn)亂碼的情況。 設(shè)置系統(tǒng)托盤圖標 為程序添加體統(tǒng)托盤圖標和上下文菜單 : QIcon icon=QIcon(./image/)。 parenttrayIconMenuaddAction(minimizeAction)。 軟件測試的目的 對于軟件測試的目的, 提出過以下觀點: (1) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1