基于Linux的mp3播放器設計與實現_第1頁
基于Linux的mp3播放器設計與實現_第2頁
基于Linux的mp3播放器設計與實現_第3頁
基于Linux的mp3播放器設計與實現_第4頁
基于Linux的mp3播放器設計與實現_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業設計(論文)開題報告題 目:基于Linux的mp3播放器設計與實現 學 院:專業名稱:班級學號:學生姓名:指導教師:填 表 日 期 2021 年 12 月 03 日一、 選題依據、目的和意義在這個科技日新月異的時代, Linux操作系統以其開源的環境以及穩定性在社會和市場上越來越具有競爭力,因此,熟練地掌握Linux的相關操作,Linux下的軟件開發,是我們IT學子必須掌握的一門技術。而現代社會是一個物質相對豐富的時期,人們在追求物質享受的同時,越來越注重自己的精神享受,而音樂播放器,是一個大家日常生活中都能接觸到的一個最為常用的軟件,供人們茶余飯后消遣之用。音樂能夠陶冶情操,也能夠平靜人

2、們的心情,安撫受傷的心靈,給人以美好的享受,現在的音樂播放器大都是基于Windows操作系統的,因此做一個基于Linux系統的音樂播放器非常必要。隨著計算機多媒體技術的高速發展,各類集計算機、通信、消費電子產品等特征于一體的電子產品得以廣泛應用,而這類產品對當前播放器也提出了更高的要求,同時,隨著Linux系統的廣泛使用,Linux系統上多媒體技術應用要求更為凸顯。目前使用于桌面操作系統的媒體播放器發展較快,通常具有強大的音樂播放功能和友好的用戶界面,而基于Linux下的mp3播放器,由于國內一般用戶對Linux系統還不太熟悉,因此提前開發一個功能實用,運行速度快,占用空間小,操作和應用友好方

3、便的播放器,在Linux操作系統普及以后將會非常具有使用價值,而本項目的音樂播放器就以此為出發點。目前我國的計算機應用、計算機軟件和電子相關類專業的人才培養方面,取得了長足的發展,在看到美好前景的時候也存在著一些問題,比如說缺乏實際開發設計項目經驗,不善于綜合運用所學理論,對知識的把握缺乏,融會貫通的能力有所欠缺。為了順應Linux時代的潮流,鍛煉自己在Linux下進行軟件開發的能力,也為了讓人們能夠更好的享受生活,提高音樂播放器的友好性和實用性,我這次選擇基于Linux的mp3播放器設計與實現這個課題,考慮到GStreamer是 GNOME 桌面環境下用來構建流媒體應用的多媒體框架(fram

4、ework),其主要目的是要簡化音/視頻應用程序的開發,目前已經能夠被用來處理MP3、Ogg、MPEG2、AVI、Quicktime等多種格式的多媒體數據【1】。而GTK+(本文中使用其另一個簡要名稱GTK)最初是GIMP的專用開發庫,后來發展為類Unix系統下開發圖形界面的應用主流開發工具之一。GTK是自由軟件,并且是GNU計劃的一部分,GTK的許可協議是LGPL【2】。因此這次項目將使用GTK和GStreamer技術來實現一個簡單mp3播放器,希望能夠通過這次項目來提升自己,豐富自己的編程經驗。二、國內外研究現狀及發展趨勢隨著現代科技的迅猛發展,先進的科學技術尤其是網絡與計算機技術已經在人

5、類的工作和生活中發揮著極其重要的作用,占據人們生活的很大部分,而作為一種供人們娛樂消遣的mp3軟件更是成為人們生活中不可或缺的一部分。作為發達國家,基于Linux下的播放器起步較早,到現在已經卓有成效,而像我們這種發展中國家,由于技術落后和起步較晚等問題,對Linux下的軟件開發還不是很熟練,不過隨著經濟的發展,科技的進步,其發展速度一定會非常快。2.1國外現狀及發展趨勢由于國外電子信息技術起步較早且發展迅速,而且對Linux系統的重視程度非常高,因此各類mp3播放器軟件種類繁多,讓人眼花繚亂,其技術也已經基本成熟。在Linux上流行的播放器主要有以下幾種:Freeamp,Xmms,RealP

6、layer,Winamp,Xmcd,Xmovie,QuickTime,Mplayer等,下面對這些媒體播放器進行分析介紹【3】。 MplayerMplayer是Linux下的電影播放器,他的功能十分強大,它能夠播放眾多格式的文件。Mplayer能使用眾多本地的Xanim,RealPlayer和Win32DLL編析碼器,播放大多數MPEG、VOB、Ogg、ASF/WMV文件,也能播放VideoCD、SVCD、DVD格式的電影。Mplayer的另一個大特色是支持廣泛的輸出設備,可以在X11、Xv、OpenGL等下工作【3】。 XmmsXmms是X-Window系統下最流行的多媒體播放器之一,大多數

7、Linux版本都捆綁了該產品作為Linux下的標配音頻播放器。其可以播放MP3、Wav等多媒體文件,而且只要提供相應的插件,他還可以支持更多的多媒體類型【3】。 XmovieXmovie最早是作為電視節目的播放軟件。它的界面非常簡單。界面上除了播放、快進、快退、播放時間顯示和播放進度這幾個主要的功能外,沒有其他的控制功能,界面上的菜單不含有任何播放控制功能,基本上都是對播放畫面的調整和環境變量的控制。支持.mpg、.vob、.m2v等視頻格式,同時能夠播放mp3音頻格式的文件【3】。 RealPlayerRealPlayer在低帶寬下支持音頻、視頻多媒體的低損失傳輸,同時具有優秀的流媒體在線播

8、放能力。RealPlayer for Linux版本的操作界面與Windows平臺下的版本類似【3】。以上的Linux媒體播放器中所應用的技術已經到了相當成熟的水平,并且為人們所接受,滿足了人們對音樂的需求,是人們選擇播放器的最佳對象。2.2國內現狀及發展趨勢目前國內的基于Windows平臺下的mp3播放器類軟件相當多,且已經達到了頂峰。這些軟件基本上都能滿足人們對音樂的各種需求,包括簡單的播放、暫停、快進、上一曲、下一曲,以及復雜的一些操作,如:歌詞的顯示、字體的放大和縮小、播放器背景的切換、在線聽音樂、跟唱等。但是隨著Linux的開源以及其操作系統的穩定性等優點,其影響力也是日益凸顯,而目

9、前國內基于Linux操作系統的mp3播放器軟件還是非常的少,但隨著時代的發展,人們意識的進步, Linux下的軟件開發必然會越來越受重視,因此基于Linux操作系統的mp3播放器的設計與開發是具有前瞻性的。三、研究的主要內容及實驗方案3.1畢業設計的主要研究內容基于Linux系統上mp3播放器設計與實現,主要采用GTK和GStreamer分別作為圖形界面設計和流媒體框架工具,純C語言編寫,用vi編輯器來書寫程序代碼,通過編寫Makefile文件來定義編譯規則,用make工具來生成可執行文件。GStreamer的程序開發框架使得編寫任意類型的流媒體應用程序成為可能。在編寫處理音頻、視頻或者兩者都

10、有的應用程序時,GStreamer可以簡化編程者的工作。GStreamer并不受限于音頻和視頻的處理,它能夠處理任意類型的數據流,管道設計的方法對于實際應用的濾波器幾乎沒有負荷,它甚至可以用來設計對延時有很高要求的高端音頻應用程序【4】。而GTK是Linux下開發圖形用戶界面程序的主要框架,通過回調函數,就可以實現GTK和GStreamer信號注冊功能。其中,回調函數是一種非顯式調用的函數,它是一種將自己的地址(函數指針)傳給別的函數來間接調用自己的編程方式。在使用回調函數時必須首先定義函數指針,然后才能使用函數指針實現回調【5】。本次基于Linux系統下的mp3播放器設計與實現,功能主要有:

11、播放、暫停、停止、上一曲、下一曲、播放時間顯示、進度條顯示和調節、歌詞的顯示、歌曲列表、模式的選擇和設置、MV以及動態加載音樂等。希望在能夠通過這次項目不斷的學習,提升自己。3.2實驗方案(1)UI設計,主要是音樂播放界面的設計與實現。(2)音樂播放模塊,從歌曲的樹狀列表中選中一首音樂或者是通過文件菜單動態地加載一首音樂,并能夠正確播放該音樂。(3)音樂控制模塊,主要實現音樂的暫停、播放、停止、上首、下首、模式的選擇。(4)菜單模塊,幫助菜單主要對本播放器做一個簡要說明,文件菜單則是允許選擇一個mp3文件然后進行播放。(5)附加模塊,主要是歌詞顯示與匹配以及歌曲進度的顯示與調節功能的設計與實現

12、。(6)定義項目的編譯鏈接規則,將其寫到Makefile文件當中,通過make工具生成可執行文件。四、目標,主要特色及工作進度4.1目標:結合GTK和GStreamer實現一個圖形界面mp3播放器。具體目標如下:(1)了解基于Linux下應用程序的設計和開發過程。(2)了解并熟練掌握Makefile文件的編寫。(3)了解GTK以及GStreamer流媒體應用程序框架的使用。(4)界面設計合理,用戶界面友好。(5)能夠方便的選擇本機的一個mp3文件進行播放。(6)具有播放、暫停、停止、模式選擇功能,并且可以用一個滾動條來顯示當前的播放位置,拖動滾動條可以調節mp3文件的播放位置。(7)在面板上顯

13、示播放時間,時間和進度每0.2s刷新一次。(8)提供文件選擇和關于菜單,并保證退出按鈕能夠正常的結束程序。4.2主要特色:(1)基于Linux操作系統下的應用程序,順應潮流。(2)mp3播放器界面簡潔,便于操作。(3)在Linux下的mp3播放器功能強大,能夠滿足各類人群對音樂的需求,以及能夠完成各類復雜的操作,包括歌詞顯示、進度調整等功能。(4)采用GTK設計圖形界面,GStreamer來設計流媒體框架,兩者相結合。(5)軟件小巧靈活,操作簡單,便于掌握。4.3工作進度:第一階段:2021.11.252021.12.03 論文開題,主要完成開題報告,確定畢業設計研究題目和方向。第二階段:20

14、21.12.042021.12.10 完成項目中需求分析階段。第三階段:2021.12.112021.12.18 完成項目概要設計階段。第四階段:2021.12.192021.12.29 完成項目詳細設計階段。第五階段:2021.12.302021.01.05 完成中期檢查報告。第六階段:2021.01.062021.01.20 完成項目編碼及測試階段。第七階段:完成項目,備齊相關文檔,制作答辯PPT并做好答辯的準備。五、主要參考文獻 1 多媒體開發框架GStreamer 開源社區網 2 Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultj

15、e, and Stefan Kost. GStreamer Application Development Manual (0.10.21.3)M. Open Publication License. 2021. 3 Linux下的播放器 摘自百度文庫4 Jon Masters, Richard Blum, Professinal Linux ProgrammingM. Wiley Publishing, Inc. 2021 : 319-3405 何世勇 基于GTK的GUI編程J 中國水運(理論版),2021 ,4(3):165-1666 GCC技術參考大全 清華大學出版社7 崔尚卿 基于Gn

16、ome/GTK+的圖形界面的幾個實現技巧J,計算機時代,2021 8 王世江(改編),鳥哥(作者) 鳥哥的Linux私房菜人民郵電出版社,第3 版 (2021年7月1日)9 趙毅,馬捷 利用Python和GTK+的Linux GUI應用的快速開發J,計算機工程,2021 公司印章管理制度一、目的 公司印章是公司對內對外行使權力的標志,也是公司名稱的法律體現, 因此,必須對印章進行規范化、合理化的嚴格管理,以保證公司各項業務的正常運作,由公司指定專人負責管理。二、印章的種類1、 公章,是按照政府規定,由主管部門批準刻制的代表公司權力的印章。2、 專用章,為方便工作專門刻制的用于某種特定用途的印章

17、,如:合同專用章、財務專用章、業務專用章、倉庫簽收章等。 3、手章(簽名章),是以公司法人代表名字刻制的用于公務的印章。三、印章的管理規定1、 印章指定專人負責保管和使用,保管印章的地方(桌、柜等)要牢固加鎖,印章使用后要及時收存。2、 財務專用章由財務部負責保管,向銀行備案的印章,應由財務部會計、總經辦分別保管。 3、印章要注意保養,防止碰撞,還要及時清洗,以保持印跡清晰。4、一般情況下不得將印章攜出公司外使用,如確實因工作所需,則應由印章管理員攜帶印章到場蓋章或監印。 5、印章管理人員離職或調任時,須履行印章交接手續。四、公章刻制印章需本公司法人代表批準,并由印章管理專責人負責辦理刻制并啟用并交由專人進行保管。 五、印章的使用1、 使用任何的印章,需由相應負責人審核簽字。為方便工 作,總經理可授權印章管理專責人審核一般性事務用印。2、 用印前印章管理人員須認真審核,明確了解用印的內容和目的,確 認符合用印的手續后,在用印登記簿上逐項登記,方可蓋章。 3、對需要留存的材料,蓋印后應留存一份立卷歸檔。 4、不得

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論