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

正文內(nèi)容

基于linux的音樂播放器設(shè)計與實現(xiàn)論文-免費閱讀

2024-09-28 15:25 上一頁面

下一頁面
  

【正文】 測試的方法 軟件測試一般分為白箱測試和黑箱測試 [17]。 軟件測試 (Software Testing)是發(fā)現(xiàn)軟件中錯誤和缺陷的主要手段,是保證軟件質(zhì)量的法寶之一。 parenttrayIconsetToolTip(music play)。 設(shè)置背景 根據(jù)配置文件獲取設(shè)置圖標路徑,并且初始化圖標 Qstring skinPath=musicSettingsvalue(“skinPath”).toString()。 Qstring oldOpenDir=musicSettingsvalue(defaultOpenDir).toString()。 函數(shù)原型: QSettings(const QStringamp。 break。 代碼實現(xiàn): connect(thisuimusicTable, SIGNAL(cellDoubleClicked(int,int)),this, SLOT(doubleClicked(int,int)))。 (6) 播放進度的拖動 如果用戶想自己選擇播放進度,可以拖動進度條( seekSlider),由 seekSlider 自動調(diào)整到用戶選擇的播放進度。 mediaObjectstop()。 thisuicurTImeLabelsetText(tr(%1 ) .arg((mm:ss)))。 代碼實現(xiàn) : mediaObjectplay()。 volumeSlider=new Phonon::VolumeSlider(uiVolumewidget)。 QListT是 一組指向被存儲元素的數(shù)組。 seekSlider setMediaObject(mediaObject)。 MediaObject位于這一層的上層,增加了諸如暫停、播放和倒帶之類的功能。而媒體播放、暫停與停止都是由它來控制;而在此之前,mediaObject 必須要與 output node 連接,如早先所講的,這個 nodes 主要將媒體輸出至底層的硬 件 ,例如 聲 卡或顯 卡等,而所需要的 output node 則是根據(jù)多媒體的內(nèi)容而所不同,目前 Phonon 有兩種 output node: ○ 1 AudioOutput-聲音播 放 。而 Qt中的 phonon 作為 跨 平臺的多媒體解決方案,就 應(yīng)該 為用戶屏蔽掉這些差異 ,如圖 33 所示: 圖 33 詳細 Phonon 框架 圖 33 是 Phonon 的詳細框架圖 , 由圖可知 Phonon 框架實質(zhì)上分 4 個部分 : 程序 、Phonon 庫 、 Phonon 后端插件 (phonon_backend)、 真正的后端。信號和槽帶來的性能損耗,對實時應(yīng)用程序是很小的。而一旦關(guān)聯(lián)信號和槽, Qt 就保證了合適的槽得到調(diào)用。以往的 callback 缺 乏類型安全,在呼叫處理函數(shù)時,無法確定是傳遞正確型態(tài)的參數(shù)。 在程序中,使用 QObject::connect()函數(shù)來將信號與槽關(guān)聯(lián)。例如,下面聲明了 兩 個槽: public slots: void mySlot()。 (2) protected slots 類型。當與其關(guān)聯(lián)的信號被發(fā)射時,這個槽就會被調(diào)用。例如,下面定義了 兩 個信號: signals: void mySignal()??傊?,信號與槽構(gòu)造了一個強大的部件編程機制。 信號和槽能攜帶任意數(shù)量和任意類型的參數(shù),他們是類型完全安全的,不會像回調(diào)函數(shù)那樣產(chǎn)生 core dumps。 9 3 系統(tǒng)設(shè)計 Qt 信號與槽 機制 介紹 在以往的 GUI 用戶界面中,用戶操作一個窗口部件時,需要其他窗口部件的響應(yīng)或者能夠激活其他操作。 在上述基礎(chǔ)上 ,做出音樂播放器的相關(guān)功能如下 : (1) 美觀、時尚的操作界面 。本播放器實現(xiàn)了大部分基本功能,能夠滿足 用戶 一般的播放需要。 Qt 對于 大多數(shù)人 來 說,還是一個新事物,但是 它 只是一個跨平臺應(yīng)用程序和 UI 開發(fā)框架,而且這個項目對于 Qt 的運用不是很深入,只是對于某一些基本的理論知識的學(xué)習(xí)和運用。 提供給商業(yè)軟件開發(fā)。 快捷鍵設(shè)置 為了方便用戶的操作,現(xiàn)在絕大部分的應(yīng)用軟件都設(shè)置有快捷鍵操作,能夠?qū)崿F(xiàn)對軟件的快捷操作。 基本功能 實現(xiàn) 音頻的播放,這是開發(fā)一款音樂播放器的最基本要求,能夠?qū)崿F(xiàn)音頻播放、暫停、停止、進度拖動、音量控制、上一首、下一首等基本功能。不僅可以播放多種格式的音樂文件,還可以連接到互聯(lián)網(wǎng)中接受網(wǎng)絡(luò)收音機或者到網(wǎng)上音樂商店購買音樂 [4]。后來,在 Windows 98 當中內(nèi)置了 WMP64,這個版本存在于后續(xù)的操作系統(tǒng)中,并被一直保留至今。Phonon 提供一個穩(wěn)定的 API 允許 KDE4 獨立于任何一個聲音系統(tǒng)服務(wù)器, Phonon 從一開始就被設(shè)計成 Qt 函數(shù)的風格, Phonon 并非只能運行于 Unix 系統(tǒng),他的后端可以是在其它平臺如 Microsoft Windows 并提供相同的功能。 Qt Creator 主要 功能和優(yōu)勢 如下: (1) 使用強大的 C++代碼編輯器可快速編寫代碼 。它包括一個可視化偵錯工具和整合的 GUI 版面和外形設(shè)計師。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件之間的協(xié)同工作變得十分簡單。通過語言綁定,其他的編程語言也可以使用 Qt。 (4) 設(shè)備獨立性。但是,從系統(tǒng)的整體功能、性能來看, Linux 桌面系統(tǒng)與 Windows系列相比還有一定的差距,主要表現(xiàn)在系統(tǒng)易用性、系統(tǒng)管理、軟硬件兼容性、軟件的豐富程度等方面,如音樂播放器。嚴格來講, Linux 這個詞本身只表示 Linux 內(nèi)核,但在實際上人們已經(jīng)習(xí)慣了用 Linux 來形容整個基于 Linux 內(nèi)核,并且使用 GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)(也被稱為 GNU/ Linux)。 本音樂播放 器 在 播放音頻文件方面 主要選擇 播放 本地文件 , 在功能方面 主要 具備一些基本的音樂操作功能,如:暫停、播放、音量調(diào)節(jié)、拖動、停止等。但是, 它們之中有許多 都是根據(jù)特定的操作系統(tǒng) 來 開發(fā)的, 其中 很大一部分 都 沒有實現(xiàn)跨平臺的應(yīng)用, 為了應(yīng)對 不同的系操作 統(tǒng), 它們 只 能重新 開發(fā) 新 的版本。s expected result. At the same time, the music player has a well performance in operational stability and economic cost. Key words: Music player。Add files39。Play39。本播放器 在 Linux(Debian )操作系統(tǒng)平臺下進行開發(fā),使用 Qt 程序開發(fā)框架實現(xiàn)播放器的 GUI 設(shè)計,并用 Phonon 多媒體 API 實現(xiàn)多媒體控制,最后再 用 C++編程 實現(xiàn)。s lives, music player plays an irreplaceable role in people39。 function, 39。 function, 39。音樂播放器 作為 一種用于播放各種音樂文件的多媒體播放軟件 , 已經(jīng)成為了 大家電腦里面不可或缺的一項應(yīng)用。雖然 Linux和 Qt已經(jīng)發(fā)展了很長 的一段時間,但是對于很多國內(nèi)計算機專業(yè)的大學(xué)生來說, 它們 還是比較陌生的事物。 Linux 是一個領(lǐng)先的操作系統(tǒng), 在 2020 年 11 月發(fā)布的 TOP500 中有 %的超級計算機使用的是Linux 操作系統(tǒng) [1]。近年來,特別在國內(nèi)市場, Linux 桌面的發(fā)展趨勢非常迅猛。系統(tǒng)資源可以被不同用戶各自擁有和使用,即每個用戶對自己的資源有特定權(quán)限,互不影響。 Qt 被OPIE、 Skype、 VLC media player、 Adobe Photoshop、 VirtualBox 與 Mathematica 所使用。除了 C++外, Qt 還為其它多種計算機語言提供了應(yīng)用程序接口,您也可以使用這些語言開發(fā) Qt 應(yīng)用程序 [6]。此 IDE 能夠跨平臺運行,支持在桌面環(huán)境 ,如: Windows、Linux/X11 和 Mac OS。從原始碼編譯時,也4 可以使用 cdb(Microsoft Console Debugger)。 集成了特定于 Qt 的功能,如信號與槽 (Signals/Slots)圖示調(diào)試器 , 對 Qt 類結(jié)構(gòu)可一目了然集成了 Qt Designer 可視化布局和格式構(gòu)建器只需單擊一下就可生成和運行 Qt 項目 。使用 Solid, Phonon 將給予用戶更多配件的控制能力如耳機、揚聲器、麥克風。但似乎它不能直接讀取 windows 分區(qū)里的音樂文件,如果音樂都在 NTFS 分區(qū)里,會給用戶帶來不少不便。 功能 需求分析 音樂播放器作為一款必不可少的應(yīng)用程序,廣泛應(yīng)用于 電腦、智能手機、嵌入式設(shè)備 , 有著龐大的客戶人群。 播放器 還有一些其他的功能,如:雙擊播放器列表實現(xiàn)文件的播放,系統(tǒng)關(guān)閉提示,最小化到系統(tǒng)托盤,鼠標拖動窗口等。 可行性分析 對于基于 Linux 的音樂播放器的設(shè)計與實現(xiàn)的可行性, 本文 將從 經(jīng)濟、技術(shù)和應(yīng)用7 三 方面進行分析。 本系統(tǒng)采用 Qt 開源版, 不需要任何費用。由于 Qt 和 Phonon 都具有跨平臺的特性,使用 Qt 開發(fā)的軟件,相同的程序代碼可以在任何 支持 的平臺上編譯與執(zhí)行,而不需要修改源代碼。 主要研究內(nèi)容包括以下幾個方面 : (1) 查找相關(guān)書籍與文獻 , 了解 LINUX 的構(gòu)架并搭建 LINUX 平臺 。 (6) 音樂播放器的控制設(shè)置功能 。信號和槽是 QT 自行定義的一種通信機制,它獨立于標準的 C/C++ 語言,因此要正確的處理信號和 槽,必須借助一個稱為 moc( Meta Object Compiler)的 QT 工具,該工具是一個 C++ 預(yù)處理程序,它為高層次的事件處理自動生成所需要的附加代碼 [9]。一個槽并不知道是否有任何信號與自己相連接。只有當所有的槽返回以后發(fā)射函數(shù) emit()才返回。 另外,信號的返回類型都是 void,不要指望能從信號返回什么有用信息。 (1) public slots 類型。這適用于聯(lián)系非常緊密的類。 信號與槽的關(guān)聯(lián) 信號是一個特定的標識,槽就是一個函數(shù),卻與一般函數(shù)不同,槽函數(shù)能和信號關(guān)聯(lián),也能夠被直接調(diào)用。同時,信號和槽機制是完全和 GUI 事件完全獨立的,槽函數(shù)獨立循環(huán)。 Qt 信號和槽機制減弱了 Qt 對象的耦合度。與 callback 相比較,信號與槽有些慢。Sink 是 輸出多媒體, 通常 是一個播放的裝置 ( 如 聲 卡 ),且 只接受 MediaObject 來的 數(shù)據(jù)。后端可以是任何形式,只要你寫出了相應(yīng)的后端插件。所以它能夠經(jīng)由類似喇叭等輸出裝置來播放聲音,多媒體資料的來源必須要經(jīng)過 Phonon::createPath()與MediaObject 連接。 (4) Phonon::SeekSlider class SeekSlider 類別提供一個可滑動的 slider 來設(shè)定多媒體串流播放的位置。 Qlist 容器類 QList 不是 Phonon 的 類 成員,而是 Qt 的一個類庫,它是一種表示鏈表的模板類 。 建立媒體對象 首先實例化使用 的 Phonon 類: mediaObject =new Phonon::MediaObject(this)。 volumeSlidershow()。 QTime totalTime(0,(temp / 60000) % 60,(temp / 1000) % 60)。 (4) 下一首 如果用戶點擊下一首按鈕,系統(tǒng)會判斷當前播放項是否是列表最后一項,如果是,同時允許循環(huán)播放,會跳轉(zhuǎn)到第一首,如果不是 則 會提示用戶。 mediaObjectstop()。 mediaObjectsetQueue(sourceList)。 void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason) { switch (reason) { 20 case QSystemTrayIcon::DoubleClick: if(thisisHidden()) { thisshowNormal()。此時系統(tǒng)將修改配置文件。 首先初始化 QSettings 指針變量 : QSettings *musicSettings = new QSettings(“./config/”,QSettings::IniFormat)。如 圖 38 所示 : 圖 38 打開文件路徑存儲亂碼 在 Default open path 中,路徑為: /media/E/音樂,但是當寫入 的defaultOpenDir 時,出現(xiàn)了明顯的亂碼現(xiàn)象。 parentsetWindowIcon(icon)。 運行 后 右 擊 托 盤圖標彈 出 菜 單 包含五個選項。 (2) 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案 。測試案例是依應(yīng)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1