下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、廣西科技大學(xué)普通本科畢業(yè)設(shè)計(論文)說明書課題名稱 基于VC+的多媒體播放器設(shè)計與實現(xiàn) 學(xué) 院 計算機科學(xué)與通信工程學(xué)院 專 業(yè) 計算機科學(xué)與技術(shù)(軟件工程方向) 班 級 學(xué) 號 姓 名 指導(dǎo)教師 2015年 05月 01日二類優(yōu)質(zhì)#摘 要 隨著互聯(lián)網(wǎng)的快速發(fā)展,多媒體技術(shù)和多媒體通訊技術(shù)的逐步成熟使得信息從單一媒體到多媒體的方向發(fā)展,人們對多媒體信息的需求量日益增加,多媒體播放器也應(yīng)運而流行起來。大多數(shù)多媒體播放器軟件的功能基本大同小異,一般都可支持本地媒體文件和網(wǎng)絡(luò)媒體文件。功能上已經(jīng)大致完善,但是也有不足之處。論文主要作了以下工作: 一、詳細地介紹了該課題研究的目的和多媒體技術(shù)發(fā)展的現(xiàn)狀
2、和發(fā)展趨勢,介紹該課題的主要工作內(nèi)容和難點所在。 二、對軟件可行性研究初步項目計劃、需求的分析,同時通過用戶調(diào)查和對軟件性能和功能了解制定開發(fā)流程,設(shè)定好項目的開發(fā)環(huán)境,之后逐步按流程和需求完成軟件的初步設(shè)計,對于設(shè)計實現(xiàn)過程中的難題,尋找可行的解決方案。 三、對播放器程序的概要設(shè)計,播放器系統(tǒng)按功能進行建立和劃分模塊,以及確立模塊與模塊的接口,并調(diào)用好各模塊和整體間連接,再者就是分析好層次結(jié)構(gòu),設(shè)計友好的人機界面,最后再軟件的詳細設(shè)計以及實現(xiàn)主要的功能代碼,列出該部分函數(shù)的代碼。 四、對播放器程序的測試,在特定的測試環(huán)境的平臺下,主要是于軟件所實現(xiàn)的基本功能進行了黑盒測試,通過測試發(fā)現(xiàn)輸入還
3、有輸出的邏輯錯誤、以及在初始化時、因為錯誤導(dǎo)致的程序的終止,界面的顯示發(fā)生不正常,程序的性能和功能發(fā)生了不正確錯誤等等。 通過使用Windows 7 操作系統(tǒng)對多媒體播放器的設(shè)計與實現(xiàn),程序設(shè)計的開發(fā)工具采用Microsoft Visual C+ 6.0。在程序設(shè)計中,使用了微軟公司的 ActiveX 控件Windows Media Player(WMP)通過不斷運行調(diào)試,初步實現(xiàn)了多媒體播放器的軟件開發(fā)的基本功能。基于 MFC 集成開發(fā)環(huán)境,使用Windows操作系統(tǒng)提供的 ActiveX實現(xiàn)編程。并完成需求的功能。并實現(xiàn)了占用內(nèi)存比較小,界面簡潔明了,功能較完全,支持多格式的視頻和音頻,同
4、時具有程序健壯性強等特點。 關(guān)鍵詞: 多媒體技術(shù),播放器,ActiveX ,MFC,多媒體,MCI二類優(yōu)質(zhì)#Abstract With the Internet and the development of information technology, multimedia technology matures and multimedia communications technology makes information from a single media to multimedia direction, increasing peoples demand for multimed
5、ia information, multimedia player should be transported and popular. Most multimedia player software functions substantially similar, generally can support local media files and online media files. The function has been substantially improved, but there are drawbacks. Paper made the following work:A
6、 detailed description of the current situation and development trend of purpose and multimedia technology development in the research, introduces the main content.Second, preliminary feasibility study of software project planning, requirements analysis, while developing the development process throu
7、gh user surveys and understand the performance and functionality of the software, set up the projects development environment, then gradually according to the process and requirements to complete the preliminary design software, For the design and implementation problems in the process, to find viab
8、le solutions.Third, the player programs outline design, player system set up and divided by function module, and the establishment of an interface module and modules, and each module and the overall good call en, addition is good hierarchy analysis, design-friendly detailed design of man-machine int
9、erface, software, and finally achieve the main function of the code.Fourth, the test player program, in platform-specific test environment, primarily in the realization of the basic functions of the software black box testing were found to input as well as output of logic errors, and pass the test d
10、uring initialization, because termination errors of the program, the interface displays unusual occurrence, performance and functionality of the program is not correct the error occurred, and so on.Through Windows 7 operating system design and implementation of multimedia player used programming dev
11、elopment tools using Microsoft Visual C + 6.0. In programming, the use of Microsofts ActiveX controls -Windows Media Player (WMP), by constantly running debugging, the initial realization of the basic functions of the multimedia player software development. MFC-based integrated development environme
12、nt, using ActiveX Windows operating system provides for programming. And complete functional needs. And to achieve the memory for relatively small, concise interface, features a more complete multi-format video and audio, but also has robust procedures and other characteristics.Keywords: multimedia
13、player, ActiveX, MFC, multimedia,MCI二類優(yōu)質(zhì)#目 錄1 緒論11.1 前言11.2背景11.3研究目的31.4相關(guān)技術(shù)32 需求分析62.1 播放器軟件基本調(diào)查62.2 軟件功能分析72.3 軟件運行環(huán)境92.4 業(yè)務(wù)流程分析92.5 數(shù)據(jù)流程分析102.6 可行性分析123 系統(tǒng)總體設(shè)計133.1 概要設(shè)計133.2 界面設(shè)計164 詳細設(shè)計184.1 功能模塊詳細設(shè)計184.1.1 文件模塊設(shè)計214.1.2 播放控制模塊設(shè)計234.1.3 播放列表模塊設(shè)計284.1.4 播放循環(huán)模塊實現(xiàn)314.1.5 音量模塊實現(xiàn)324.1.6 定時關(guān)閉334.1.7
14、 對話框初始化355 軟件測試375.1測試方案375.2測試用例37根據(jù)測試過程制定兩組測試用例,用例組如下表5.1和表5.2所示.375.3黑盒測試385.3.1文件功能395.3.2播放控制功能405.3.3播放列表功能415.3.4音量控制模塊425.3.5播放模式模塊435.3.6定時關(guān)閉模塊44結(jié)束語45致 謝46參考文獻47二類優(yōu)質(zhì)#1 緒論1.1 前言隨著科學(xué)技術(shù)的發(fā)展,在計算機,手機普及的今天,信息傳播速度越來越快,也越來越廣,多媒體作為一種將圖像,聲音,文本等多種媒體據(jù)為一身的存在形式,在計算機、手機、隨身聽等載體中出現(xiàn),成為人們在生活中獲取信息來源之一。在互聯(lián)網(wǎng)起步的年代
15、,網(wǎng)絡(luò)技術(shù)、計算機硬件水平較低的限制,人們獲取新聞信息主要還是以看報紙,電視,還有人與人間的交流,媒體的傳播主要以方式廣播電視里,DVD播放器,當(dāng)今網(wǎng)絡(luò)技術(shù)的不斷提高、迅速發(fā)展,人們能夠更方便的連接互聯(lián)網(wǎng)來獲取信息,流媒體的出現(xiàn),多媒體的發(fā)展對世界的信息文化傳播起到了促進作用,加快了信息全球化的發(fā)展,同時也成為了信息化今天的一部分。播放器作為一種播放視頻或音頻文件的軟件,把數(shù)字信號加工處理成圖片聲音等多種方式,識別展現(xiàn)同時存在一種或者多種媒體文件,媒體作為信息的載體,存儲設(shè)備作為媒體的載體,由載體(硬盤等)播放器多媒體信息(視頻音頻),使得存在載體中的媒體信息得以彰顯。,大多數(shù)播放器攜帶解碼器
16、用來還原已經(jīng)過的壓縮媒體文件,同時播放器還需要自帶一組變換頻率緩沖算法?,F(xiàn)在播放器主要為音頻播放器(代表軟件:天天動聽,千千靜聽,酷狗,QQ音樂等)和視頻播放器(代表軟件:RealPlayer,KMPlayer,暴風(fēng)影音,迅雷看看等)。常用多媒體的文件主要格式包括:音頻格式(AIFF;AAC;MP3;WAVE;WMA等)、視頻格式(F4V;AVI;RMVB;MOV,WMV,MKV等)。1.1.1 設(shè)計目標(biāo)設(shè)計一個能支持多種格式,包括視頻格式和音頻格式的的播放器,有良好的人機交互界面,且播放功能完善,還附加其他需求的而添加的功能,支持播放列表,音量控制等,具體的功能基本符合當(dāng)今視頻音頻播放器的需
17、求來設(shè)計,并在這標(biāo)準(zhǔn)上根據(jù)自己的需要做一下修改。1.2背景 媒體是作為信息載體的一種形式,在計算機中,它有兩種含義:1.作為傳播信息的載體,有包括文字、圖片、聲音、語言、視頻、音頻等。2.作為存儲信息的載體,比如ROM(只讀存儲器)、RAM(內(nèi)存)、磁盤等儲存設(shè)備。媒體作為信息的載體,它接收各式的數(shù)據(jù)信息,如圖像,聲音,文字等,再經(jīng)過了計算機處理以及加工之后,以文字形式、聲音形式、圖片形式、動畫形式等多種形式彰顯,實現(xiàn) 輸入/輸出(I/O) 方式的多元化,同時改變了舊時計算機只能接受輸入輸出文字 信息、數(shù)據(jù)信息的局限性。通常我們將媒體分為了五大類: 1、感覺媒體:能夠直接作用于人的感官,使人產(chǎn)
18、生感覺的媒體,如聲音、圖像、動畫、文字等。 2、表示媒體:為傳輸感覺而創(chuàng)造出來的中間手段,能夠使感覺有效地從一處傳遞到另一處。 3、表現(xiàn)媒體:用在感覺媒體和信息傳輸中電信號之間轉(zhuǎn)換所用的媒體,大致是指信息輸入、輸出的工具設(shè)備。包括輸入媒體(例如:鼠標(biāo)、攝像機、鍵盤以及麥克風(fēng)等)和輸出媒體(例如:屏幕、紙和喇叭等)。 4、存儲媒體:以存儲表示媒體的載體。5、傳輸媒體:用來將表示媒體從某一處傳輸?shù)搅硪惶幍奈锢韺嶓w。用來進行網(wǎng)絡(luò)傳輸?shù)耐ㄓ嵔橘|(zhì)(例如:有線方式有同軸電纜、光纖以及雙絞線等,而無線方式則有wifi、藍牙和紅外線等)。 周長發(fā):Visual C+.NET 多媒體編程.北京:電子工業(yè)出版社,
19、2002年 多媒體作為近幾年出現(xiàn)的新生事物,是融合兩種或者多種媒體的形式,我們稱之為多媒體,這種混合形式的信息載體,在當(dāng)今的地位顯得越來越重要,在人們?nèi)バ畔⑿枨罅看蟮慕裉?,多媒體舉足輕重,相信在不久的一段時間中,多媒體會朝著更好的方向快速的發(fā)展,如全息投影(虛擬成像技術(shù)),都開始新的技術(shù)革命。人接受信息主要通過:視覺、聽覺、嗅覺、觸覺、味覺。也就是說明人有五種接受信息的方式,文字信息只能靠視覺獲取,聲音靠聽覺,同理氣味靠嗅覺和味覺,壓力和溫度靠觸覺。其中90%的信息來自視覺,想象一下。光是看一段動畫就類似感覺到了90%的信息,此時再加上聲音,溫度,壓力,氣味的結(jié)合,那就是身臨其境了嗎?多媒體技
20、術(shù)(Multimedia Technology)是一種將計算機中圖像方面、文字方面和聲音方面等各式各樣的信息融合一體,形成了計算機和用戶之間人機交互作用的技術(shù)。多媒體技術(shù)涉及的是計算機的相關(guān)的對象的產(chǎn)物只屬于計算機領(lǐng)域的技術(shù),所以說電視,廣播等均不屬多媒體技術(shù)的范圍。 張小川,多媒體技術(shù)與應(yīng)用(第二版).北京:人民郵電出版社,2006年多媒體技術(shù)的特點: 1.集成性和多樣性。多媒體融合了多種單一媒體聚于一身,經(jīng)過對在計算機媒中以數(shù)字信息化處理和加工形成一人具有多種屬性的新形式,能更好的傳達和承載信息。具有媒體無法具有的優(yōu)勢。2.數(shù)字化。多媒體以數(shù)字形式存在。 3.人機交互性。人機交互就是多媒體
21、的一大特點。它形成了人與計算機、人與計算機及計算機間的交互,交互使人感覺身臨其境、置身其中,更有利用戶使用和控制信息手段。 曲建明.多媒體技術(shù)與應(yīng)用教程(第二版).北京:清華大學(xué)出版社,2003年4. 實時性。畫面和聲音(信息)等能隨時間而動態(tài)的變化。 1.3研究目的近年隨著來計算機產(chǎn)業(yè)和科學(xué)技術(shù)的發(fā)展,硬件的成本不斷減少,傳輸瓶頸不斷的突破,個人計算機性能的提高應(yīng)用越來越普及。突破硬件條件的限制,對圖像,視頻等更高層次的支持,在計算機存儲容量,存儲媒體的信息容量擴大,網(wǎng)絡(luò)飛躍式的發(fā)展,網(wǎng)絡(luò)傳輸提高速度上,傳輸媒體顯得更方便快捷,媒體交互變得更容易,使得多媒體應(yīng)用更加的廣泛,在新聞、廣告、教育
22、、娛樂、科研領(lǐng)域應(yīng)用,并且得到很好的利用,于是我萌生嘗試制作一個基于VC+多媒體播放器,雖然網(wǎng)上已經(jīng)有了許多功能強大,界面優(yōu)美,且算法精良的播放器,但大多數(shù)軟件都以商業(yè)利益為主,內(nèi)嵌廣告,以展現(xiàn)多媒體的工具來傳播信息,并通過廣告應(yīng)用多媒體技術(shù)到商業(yè)領(lǐng)域,也是值得學(xué)習(xí)借鑒的。我想可以通過設(shè)計和實現(xiàn)的過程學(xué)習(xí)和應(yīng)用多媒體技術(shù)。首先播放器要具有基本的播放控制的功能,且對大多數(shù)視頻文件(avi , Wmv,mpeg等)、音頻文件( wav ,cd ,aif,mp3 等)格式的支持,功能有打開、播放、快進、快退、暫停、停止,有播放列表以及列表管理,進度條,音量控制,單曲循環(huán),列表循環(huán),隨機播放等循環(huán)功能
23、,以按鍵操控、快捷鍵操控和鼠標(biāo)操控為主,播放器的界面以整齊、簡潔明了的風(fēng)格布局,開發(fā)使用的操作系統(tǒng)為WIN 7旗艦版,測試使用的操作系統(tǒng)WIN 7旗艦版,軟件支持系統(tǒng)WIN 8/WIN 7/WIN XP,開發(fā)工具為VC+ 6.0,使用微軟的微軟基礎(chǔ)類庫(MFC)編程,通過Windows Media Playd 的控件以及MCI接口,開發(fā)效率也是比較高,精心去設(shè)計程序,我們可以完成一個相對不錯的播放器。對多種格式的兼容以及支持,內(nèi)存占用率比較低,適合配置低的或者是要求不高的用戶,國內(nèi)大部分1.4相關(guān)技術(shù)C+語言(The C+ Programming Language) 1983年,在內(nèi)爾實驗室在
24、C語言的基礎(chǔ)上推出了C+,一開始曾被稱為new C,之后又叫C with Class,最后得名于C語言的”+”操作符,表示源自C語言的自然演變。 C+是一種面向?qū)ο蟮木幊陶Z言,作為一種通用的編程語言,得到了廣泛的應(yīng)用,C+具有多種編程范式:面向?qū)ο缶幊獭⑦^程化編程以及泛型編程。作為C語言擴展,保留了C語言的大部分語法,在它的基礎(chǔ)上引入了對象的模型,同樣設(shè)計C語言考慮的是實現(xiàn)對過程事物的控制,而C+這是思考如何構(gòu)建對象模型。C+對C語言的擴展主要表現(xiàn)在1.類型檢查更加嚴(yán)格2.增加標(biāo)準(zhǔn)模版庫(STL)3.C+增添了面向?qū)ο?.C+還增添了對運算符的重載5.C+增添泛型編程(Template)6.增
25、添了異常處理。然而C語言和C+最大區(qū)別不是在于解決問題的方法,主要是解決問題的思想的方法不同。 錢能:C+程序設(shè)計教程(修訂版):設(shè)計思想與實現(xiàn)北京:清華大學(xué)出版社,2009年7月C+的語言特點:1.語言靈活,能高效的執(zhí)行,具有高級語言的優(yōu)點,C+可以直接訪問物理地址。2.無需復(fù)雜的程序設(shè)計環(huán)境,多種平臺支持C+。3.C+靜態(tài)類型同C語言一樣具有高效且可移植性。4.面向?qū)ο笳Z言,且有很多優(yōu)秀的程序框架如MFC、QT、OWL等。C+具體開發(fā)過程如圖1.1所示圖1.1 開發(fā)C+編程步驟MFC微軟基礎(chǔ)類(Microsoft Foundation Classes) MFC(微軟基礎(chǔ)類)是一種應(yīng)用程序框
26、架,隨著VC+開發(fā)工具發(fā)布,由一個CWinApp類對象和MFC派生類組成,可以看成為封裝了的Win32,該類庫提供可復(fù)用的類庫,微軟提供開發(fā)人員使用,MFC作為VC+的一部分,提供C+在windows平臺下的程序開發(fā)的效率和便利,MFC作為WinAPI(微軟提供的Windows應(yīng)用程序編程接口)和C+的結(jié)合,允許第三方編程語言進行在Windows操作系統(tǒng)下應(yīng)用程序的開發(fā),操作系統(tǒng)提供的API供發(fā)開人員使用,而系統(tǒng)內(nèi)部的實現(xiàn),你可以不需知曉,可以說MFC是微軟API在C+中的封裝。其關(guān)鍵技術(shù)在消息映射和消息傳遞的消息處理機制,在SDK中沒有消息映射的概念,消息響應(yīng)傳遞回調(diào)函數(shù),然后判斷消息類型,
27、再接著處理。其中MFC中重要的幾個類:1.CWnd作為大多數(shù)“窗口”的父類,如CButton(按鈕)、CFrameWnd(框架窗口)、CDialog(對話框)等。2.CDialog對話框類。3.CDC全名設(shè)備文本,與GDI(圖形設(shè)備接口)一起負責(zé)文字圖像顯示的工作,通過對屏幕的像素點進行繪圖。4.CDocument,文檔類主要負責(zé)讀取和寫盤,處理內(nèi)存和磁盤的交互的。5.CWinApp應(yīng)用程序類,MFC程序的主函數(shù),程序編譯執(zhí)行的入口和出口,其中InitInstance()函數(shù)負責(zé)初始化窗體。 人民郵電:MFC程序開發(fā)參考大全.北京:人民郵電,2007年9月6 張海蕃.軟件工程.北京:人民郵電出
28、版社,2002年 7 MSDN中文網(wǎng)站./china/msdn/8 郭寧.UML 級建模.北京:清華大學(xué)出版社,2007年9 譚小丹,VC+編程思想.北京:冶金工業(yè)出版社,2009年 10 張海藩軟件工程導(dǎo)論(第五版)北京:清華大學(xué)出版社,2008年11 劉雅琴,夏玉杰.基于MFC的多媒體播放器的實現(xiàn).信息技術(shù), 2009年12 全子一,數(shù)字視頻處理.北京:電子工業(yè)出版社,2005年13 郝玉龍. C+編程技術(shù).北京:清華大學(xué)出版社,2008年14 王永樂,徐書欣.媒體播放器的制作技術(shù).北京工業(yè)大學(xué)學(xué)報, 2006年 15 劉炳文,VC+程序設(shè)計教
29、程M.北京:清華大學(xué)出版社,2009年ActiveXActiveX控件或稱OCX控件,作為組件嵌入軟件或者網(wǎng)頁中,特點有快速開發(fā),支持多語言的編程,在COM組件作為基礎(chǔ)建立的ActiveX,為開發(fā)人員提供了一個開放集成的平臺,在WEB網(wǎng)頁和應(yīng)用程序中應(yīng)用廣泛.2 需求分析2.1 播放器軟件基本調(diào)查多媒體播放器的基本情況就是能對多種媒體格式的視頻音頻進行數(shù)字信號存儲的播放。在網(wǎng)絡(luò)上已經(jīng)有了許多流行且優(yōu)秀的播放器,我們可以先去其概況和功能進行了解然后制定軟件需求。由騰訊公司開發(fā)制作的一款支持本地媒體文件本地播放器,能支持多種格式的視音頻,第一個創(chuàng)立輕量級多播放的內(nèi)核技術(shù),作為一款“純凈”的多媒體播
30、放器,沒有任何植入廣告,也沒有強制安裝其他軟件,且支持的格式多,深受好評。界面:新版的QQ影音的界面比舊版更為多彩,但還是一如既往的簡潔,同時還提供換膚的功能,不是僅僅是把界面的背景做更改,而是把整體的布局和窗口的樣式以及顏色風(fēng)格都做了改動。功能界面有進度條、播放控制按鈕、隱藏和顯示播放列表。播放控制功能:播放、暫停、停止、上一曲、下一曲、調(diào)整進度。播放列表功能:添加文件夾、添加文件、刪除選中項、選中播放,打開自動保存列表列表排序。播放循環(huán)功能:單一播放,順序播放,無序播放,單一循環(huán)播放,以及列表循環(huán)播放。對一個本地播放器來說,暴風(fēng)影音功能算是較為強大的了。但是根據(jù)時代的發(fā)展,現(xiàn)在主流的播放器
31、都是據(jù)有網(wǎng)絡(luò)播放和本地播放兩種功能。有服務(wù)器支持的播放器可以直接在播放器中搜索視頻,代表暴風(fēng)影音。作為本地播放器擁有播放器的功能,良好的人機交互界面,已經(jīng)流暢的解碼同時也作為網(wǎng)絡(luò)播放器,能在線檢索資源,在線播放和緩存媒體資源的軟件。功能強大,深受廣大用戶的喜愛。還具有轉(zhuǎn)換格式可以對當(dāng)前格式進行轉(zhuǎn)換,同時可以對播放文件進行片段的截取,可以把某塊片段截取下來保存,還有對視頻截圖,對當(dāng)前畫面的保存成位圖。2.2 軟件功能分析多媒體播放器通過初步的對用戶群體調(diào)查我了解到作為用戶他的需求重點主要在如下幾個方面:1. 要求功能齊全,兼容性強。2. 程序必須具有比較迅速的響應(yīng)速度。3. 程序要求占的系統(tǒng)資源
32、比較少,同時不存在二級或二級以上的BUG。4. 具有美觀友好的人機交互的界面。還經(jīng)過了對QQ影音、暴風(fēng)影音等幾款多媒體播放器分了解,分析制定了多媒體播放器的基礎(chǔ)需求分析如下: 1.實現(xiàn)播放控制功能,播放控制包括播放、暫停、停止以及上一曲和下一曲等基本的播放器控制功能,提供用戶進行操作,當(dāng)播放音樂時播放界面就顯示波形動畫,還有添加全屏播放的功能,讓用戶得到更好的體驗。 2.實現(xiàn)進度的控制,進度控制包括播放進度條、快進和快退,方便用戶了解觀看進度已經(jīng)對播放進度的控制和改變。每次快進或快退,播放進度前進或者退后百分之一,若是播放進度的百分之一小于五秒則每次快進或者退后5秒。3.實現(xiàn)音量控制,上調(diào)或下
33、調(diào)滑條來控制音量的增加或者減少,音量的變化不影響操作系統(tǒng)的音量,可以通過勾選音量按鈕來開關(guān)音量。4.實現(xiàn)播放列表以及列表的管理,設(shè)計一個按鈕能讓播放列表顯示和隱藏,在列表中顯示媒體文件的信息,如文件名、文件格式、播放時長、所在硬盤的位置,能在列表里添加文件、移除選中的文件、雙擊播放選中的文件、清空列表、保存列表、還有調(diào)整文件所在列表的位置,導(dǎo)入列表和導(dǎo)出列表。5.實現(xiàn)支持多種格式音頻(MP3、WMA等)、視頻格式(AVI、WMV等)的打開。6.實現(xiàn)菜單欄,將所以控制功能都對應(yīng)實現(xiàn)在菜單欄中,設(shè)置快捷鍵的綁定,以方便用戶使用對應(yīng)的功能和操作,有利于建立良好的人機交互的界面。7.界面簡潔整齊,讓用
34、戶一目了然。8.實現(xiàn)播放循環(huán)模式,循環(huán)模式包括單一播放,順序播放,無序播放,單一循環(huán)播放,以及列表循環(huán)播放。9.實現(xiàn)程序托盤,讓程序可以化為最小化圖標(biāo)在后臺運行,在播放音樂時,可以給用戶更好的享受。10.定時關(guān)閉功能,該功能主要面向音頻方面的需求設(shè)計的作為音頻播放器時,或許睡覺看書時可以聽歌,為用戶設(shè)計計關(guān)機和關(guān)閉程序的功能。11.截圖功能,此功能面向視頻方面的需求,對于用戶在觀看影片時遇到的精彩畫面可以及時的截取下來保存。12.提供用戶換膚的功能,用戶可以自定義部分界面,讓其自己可以根據(jù)自己的喜好制定界面風(fēng)格。具體功能用例圖見圖2.1所示。圖2.1 多媒體播放器用例圖2.3 軟件運行環(huán)境操作
35、系統(tǒng):Windows 2000/Windows XP/Windows Vista/Windows 7 2.4 業(yè)務(wù)流程分析首先開始程序,先是打開一個文件,有兩種打開方式,一、從列表里添加文件或者導(dǎo)入列表打開,二、直接打開文件,如果文件是符合兼容的類型,然后開始播放,否則視為打開失敗,播放過程中有一些的供用戶使用的操作,列表打開可以使用列表的循環(huán)模式,用戶可以對列表進行一系列的操作。最后是退出,用戶使用完畢結(jié)束程序。詳解見圖2.2所示.圖2.2 業(yè)務(wù)流程圖2.5 數(shù)據(jù)流程分析 根據(jù)播放控制模塊的數(shù)據(jù)流程分析,首先獲取媒體文件的信息,通過WMP的解碼器進行媒體文件的數(shù)據(jù)解碼,解碼成數(shù)據(jù)信息流,其中
36、包括了聲音信息流和圖片信息流,聲音數(shù)據(jù)流通過系統(tǒng)進行聲音合成,聲卡接受到數(shù)據(jù)流處理并輸出。圖像數(shù)據(jù)流通過圖像編碼,再進行顯示控制的選項,顯卡獲取數(shù)據(jù)流,處理并輸出。關(guān)于系統(tǒng)的數(shù)據(jù)流圖見圖2.3 和圖2.4所示.圖2.3 多媒體播放器系統(tǒng)頂層圖圖2.4 多媒體播放器系統(tǒng)0層圖播放列表模塊中通過打開文件添加到播放列表中或者是通過列表添加功能添加文件,列表中以表格的形式分別文件名,文件的格式,文件播放的時長,文件路徑。一目了然的顯示媒體相關(guān)信息?;跁r間戳的播放過程中(詳解見圖2.5)僅僅對早到的或晚到的數(shù)據(jù)塊進行等待或快速處理,往往是不夠的 如果想要更加主動并且有效地調(diào)節(jié)播放性能,就需要引入反饋機
37、制,也就是通過對比音視頻的時間戳將當(dāng)前數(shù)據(jù)流的播放狀態(tài)反饋給上層的“源” 如果音頻流滯后,就即時通知音頻解碼器加快音頻流輸出,但是如果滯后太多,則直接將當(dāng)前數(shù)據(jù)丟棄,直接跳到下一幀;如果視頻流滯后,就通知音頻解碼器減慢音頻輸出速度等待視頻流,如滯后太多也直接進行跳幀 數(shù)據(jù)流首先通過分離器分解為視頻數(shù)據(jù)流和音頻數(shù)據(jù)流,然后經(jīng)過對應(yīng)的解碼器,同時由本地系統(tǒng)時鐘來進行時間戳控制;獲得準(zhǔn)確顯示或回放時間以后進行時間戳比較;若同步則直接輸出,不同步則進行音頻跳幀或等待,直到同步后輸出。圖2.5 視頻音頻同步數(shù)據(jù)流程2.6 可行性分析開發(fā)工具 :Visual Studio 2013和VC+ 6.0開發(fā)語言
38、:C+采用的是 Visual C+是 Windows 操作系統(tǒng)上常見的 C+開發(fā)工具,是Microsoft 公司推出的目前使用極為廣泛的基于 Windows 平臺的 C+的可視化的開發(fā)環(huán)境。Visual C+ 6.0 編譯器負責(zé)將 C+源代碼編譯成匯編文件,轉(zhuǎn)變?yōu)橹虚g文件,然后使用連接器將相關(guān)的中間文件連接起來,生成可執(zhí)行的二進制文件。 Visual C+6.0 不僅是一個 C+編譯器,而且是一個基于 Windows 操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C+6.0許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)?/p>
39、 AppWizard、類向?qū)?Class Wizard等開發(fā)工具。這些組件通過一個名為 Developer Studio 的組件集成為和諧的開發(fā)環(huán)境。使用VC+ 6.0 編譯工具的MFC完成對多媒體播放器的制作,在過去,計算機程序的目標(biāo)是短小使得運行速度快的代碼,當(dāng)今計算機的性能更好,價格更大眾,程序開發(fā)主要的經(jīng)費從以前以硬件為主轉(zhuǎn)到了以程序維護、開發(fā)為主,所以當(dāng)今程序設(shè)計的第一要務(wù)、目標(biāo)是以可移植性,以維護性還有可讀性,做出一個播放器的途徑具有多種方式,但是因為主觀的原因開發(fā)語言和開發(fā)環(huán)境的限制,只能在這個基礎(chǔ)上分析其他能夠達成目的的方法,根據(jù)查閱資料,目前根據(jù)需求能實現(xiàn)的有:1. 用MFC
40、里面提供的ActiveX控件,在選擇Windows Media Player組件,使用WMP組件提供的類,對類的使用和操作來完成對多媒體播放器的設(shè)計以及實現(xiàn),可以快速的完成一個功能強大,且兼容性和界面友好的多媒體播放器,在實際的項目的改方案會減少大量的成本,有較好的開發(fā)效率。2. 使用系統(tǒng)自帶多媒體接口MCI(多媒體應(yīng)用編程接口),能在比組件更高的層次上控制媒體設(shè)備,操作較為繁瑣,卻能完成各種功能。綜上所述兩個條件分析,從開發(fā)效率上看的話,ActiveX控件的相對更高一些,可以在組件提供的類對象上進行對多媒體播放器的各種功能的。且對ActiveX的可讀性更好一些,在組件限制的方面我們采用MCI
41、編程,使用MCI強大的對系統(tǒng)多媒體接口的操控,從而開發(fā)出一個完善的播放程序。3 系統(tǒng)總體設(shè)計3.1 概要設(shè)計播放器系系統(tǒng)的設(shè)計:打開播放器,播放器程序首先進行對話框信息的初始化,初始化的過程中初始化播放列表的信息,然后進行播放、暫停等等的播放控制,修改播放器列表,記得當(dāng)前播放狀態(tài)信息,程序結(jié)束。根據(jù)流程圖3.1所示播放系統(tǒng)流程圖圖3.1播放流程圖程序的應(yīng)用初始化信息有窗口的類型,系統(tǒng)函數(shù)的,對話框的框架,文檔類等,對程序的各模塊進行初始化,以及播放器界面的初始化,然后讓程序運行加載。加載列表之前所保存的文件信息,顯示預(yù)留提供操作,之后可以執(zhí)行相關(guān)播放停止等控制操作,也可以把程序最小化托盤,在后
42、臺運行,需要時調(diào)出來使用,程序結(jié)束前可以進行播放器配置和播放信息的保存,以供下次打開程序加載使用。根據(jù)功能劃分為六大模塊,詳情見圖3.2所示.圖3.2 系統(tǒng)功能結(jié)構(gòu)圖打開media player,media players先進行初始化,在打開文件后進行播放列表的加載,接下來可以進行列表播放,列表數(shù)據(jù)的導(dǎo)入導(dǎo)出,列表的條目的排序和選項的上下挪動順序,選中的選項移除和清空表格功能,見表下3.1所示。表3.1 播放列表模塊功能設(shè)計播放列表模塊播放雙擊選中項來進行播放。列表的導(dǎo)入/導(dǎo)出導(dǎo)入或?qū)С隽斜硇畔⒌蕉M制文本。選中項的上/下移動鼠標(biāo)拖動或按鍵幫助移動改變選中項位置。清空列表或移除選中項點擊按鍵完
43、成清空或選中再點擊功能按鍵。播放模式模塊有五種選擇模式,當(dāng)前只能存在一種模式五選一,菜單欄中的播放模式按鍵互相排除的單項選則。還有有一個全屏播放模式。見下表3.2所示。表3.2 播放模式模塊功能設(shè)計播放模式模塊單個播放和循環(huán)播放當(dāng)前文件播放,或者連續(xù)的循環(huán)播放改文件。順序播放和循環(huán)播放按順序播放當(dāng)前列表里的文件,播放完就停止。循環(huán)當(dāng)前播放。隨機播放在當(dāng)前中隨機的選擇下個播放的文件。全屏全屏播放播放控制模塊包括對播放狀態(tài)的控制以及播放進度的控制。見表3.3所示。表3.3 播放控制模塊功能設(shè)計播放控制模塊播放狀態(tài)控制包括暫停,播放,停止的播放狀態(tài)進行選擇,單擊相應(yīng)按鍵實現(xiàn)播放狀態(tài)的切換,在沒有打開
44、文件和播放列表為空的情況下,按鍵點擊無效。通過上一個以及下一個進行列表中文件上下的切換,當(dāng)前文件若是在列表中的最后一個文件,下一個時則切到列表最上方的文件。播放進度控制包括快進,進度條,快退。單擊快進前進總進度的百分之一,快退則是倒退總進度的百分之一。進度條不僅僅用來顯示當(dāng)前的進度概況,通過拖動改變進度。下面是音量控制模塊。見表3.4所示。表3.4 音量控制模塊功能設(shè)計音量控制模塊音量的增減,靜音設(shè)置有開啟和關(guān)閉總音量的開關(guān),關(guān)閉就是靜音,通過改變進度條調(diào)整增加或者減少音量大小。媒體文件模塊。見表3.5所示。表3.5 文件模塊功能設(shè)計文件模塊文件打開并且播放媒體文件,對于無法兼容的文件不給供打
45、開功能。最后一個模塊是計劃關(guān)閉模塊,主要是設(shè)置定時然后完成相應(yīng)的關(guān)閉操作。主要適用于播放音樂文件的時候。詳細見表3.6 。表3.6 定時關(guān)閉定時關(guān)閉設(shè)置定時可以設(shè)置定時,設(shè)置規(guī)格最大為一天,最小為一分鐘。定時操作定時時間到了之后執(zhí)行的操作,關(guān)機或者關(guān)閉程序。倒計時顯示和后臺顯示倒計時,開啟之后可以后臺,也可以停止定時計劃。3.2 界面設(shè)計打開VC+ 6.0 New Poject MFC AppWizard( EXE )界面選擇對話框模式,然后在對主對話框右鍵選擇右鍵菜單中Insert ActiveX Controls,向下翻找到Windows Media Player的組件對該組件右鍵屬性對組
46、件屬性進行修改,ID設(shè)置為IDC_OCX1,在常規(guī)一欄下的控件布局選項中,把布局設(shè)置成None,這樣播放插件就只提供顯示功能而沒有其他的功能。我們把功能按鈕先布局好圖3.3 主界面所示,對應(yīng)播放控制使用編組框圈起來內(nèi)十字排列分成上一個,暫停,播放,停止,下一個。播放模式使用下拉列表選擇播放的模式,音量設(shè)置單選按鈕和滑動條,通過勾選單選鍵來開啟或者關(guān)閉音量,通過滾動滑動條調(diào)節(jié)音量大小。播放進度用法滑動條和靜態(tài)文本來實現(xiàn),左邊的文本是當(dāng)前的播放時間,右邊的文本是該媒體文件的最大時長,中間放有滑動條,根據(jù)時間的推移,滑條跟著向右滑動,直到媒體文件播放完畢,滑條也劃到底部。在滑條右下方做了一個快進和快
47、退的旋轉(zhuǎn)按鈕,按左邊的箭頭的功能是快退,每次快退總進度的百分分一,按右邊的箭頭的功能是快進,每次按動前進總進度的百分之一,同時拖動進度條也有調(diào)節(jié)播放進度的功能。右邊一整塊是用列表控件做的播放列表,把風(fēng)格里的視圖設(shè)置為“報告”,在列表下面添加5個管理列表的按鈕,打開,添加,移除,清空,退出。圖3.3 播放器主界面整體來看這個播放器界面已經(jīng)比較完善了,就差把對應(yīng)的功能實現(xiàn)了。所以我們所設(shè)計的界面基本如一下圖3.4所展示的那樣子,以簡潔為主要風(fēng)格,功能按鈕排布整齊,雖然于其他優(yōu)秀的播放器的界面相比差之甚遠,但是在MFC的界面算較好者。圖3.4 添加菜單欄后的播放器主界面4 詳細設(shè)計4.1 功能模塊詳
48、細設(shè)計打開播放器后,播放器先初始化,然后打開文件,打開的文件加入了播放列表,播放列表顯示了媒體文件的相關(guān)信息,然后進行播放,導(dǎo)入和導(dǎo)出文件列表和一些對應(yīng)的列表管理的操作,清理和移動列表中文件,之后可以選擇列表播放的模式,模式主要有五種,也可以進行播放狀態(tài)的控制,調(diào)整播放進度,改變音量的大小,切換當(dāng)前播放的內(nèi)容等,具體見圖4.1所示。圖4.1 系統(tǒng)順序流程圖根據(jù)模塊的劃分,按文件、播放控制、播放列表、播放模式、音量的模塊順序逐步完成功能。在此之前先做一個菜單欄,在Resource view資源視圖對當(dāng)前資源文件右鍵插入Menu菜單欄,對對話框右鍵屬性綁定IDR_MENU,或者是CMyMediaP
49、layerDlg的初始化函數(shù)中添加對菜單欄創(chuàng)建按鈕如下表4.1所示。表4.1 Menu按鍵信息表按鍵ID名稱熱鍵快捷鍵媒體文件(&F)ID_FILE_OPEN打開(&O)tCtrl+OID_EXIT退出(&W)tCtrl+W播放控制(&C)ID_MENU_PLAY播放(&P)tCtrl+F1ID_MENU_PAUSE暫停(&A)tCtrl+F2ID_MENU_STOP停止(&T)tCtrl+F3ID_MENU_LAST上一個tCtrl+Alt+ID_MENU_NEXT下一個tCtrl+Alt+列表管理(&L)ID_MENU_ADD添加(&A)ID_MENU_DELETE刪除(&D)ID_MEN
50、U_CLEARN清空(&C)播放模式(&M)ID_MENU_SINGLE單個播放(&S)tAlt+F1ID_MENU_ORDER順序播放(&O)tAlt+F2ID_MENU_LOOP循環(huán)播放(&L)tAlt+F3ID_MENU_RANDOM隨機播放(&R)tAlt+F4ID_MENU_SLELOOP單一循環(huán)(&E)tAlt+F5關(guān)于(&H)ID_MENU_ABOUTAbout My Media Player完成圖4.2 的設(shè)置后,需要在資源視圖里右鍵插入一個Accelerator,在里面添加對應(yīng)菜單欄按鍵的ID和快捷鍵信息進行綁定。圖4.2 IDR_ACCELERATOR最后一步是對按鍵做消息
51、映射,詳細如圖4.3的顯示的樣子在CMyMediaPlayer的BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之間的代碼行中添加我們形式如ON_COMMAND(ID_FILE_OPEN,OnOpen)第一個是按鍵ID第二個為相應(yīng)的功能函數(shù),這個是打開文件的消息響應(yīng)。具體圖4.3 菜單欄按鍵消息映射因為菜單欄各按鍵所對應(yīng)的功能函數(shù)此時還并未實現(xiàn),所以注釋起來,完成后的菜單欄圖4.4 所示。圖4.4 IDR_MENU菜單欄再運行看下主界面,在標(biāo)題欄的正下方出現(xiàn)了菜單.4.1.1 文件模塊設(shè)計 表4.2 文件模塊控件ID類型對應(yīng)函數(shù)主要的作用IDC_OPENButtonv
52、oid CMyMediaPlayerDlg:OnOpen()打開文件,加入列表等(見表4.2)POSITION pos;UINT flag = LVIS_SELECTED|LVIS_FOCUSED;pos = m_list.GetFirstSelectedItemPosition(); int iIndexNum = m_list.GetNextSelectedItem(pos)獲取當(dāng)前的列表中已經(jīng)存在的文件數(shù)目,下面會使用到。char szFileFilter= All File(*.*)|*.*| Mp3 File(*.mp3)|*.mp3|Wma File(*.wma)|*.wma| V
53、ideo File(*.dat)|*.dat|Wave File(*.wav)|*.wav| AVI File(*.avi)|*.avi| Movie File(*.mov)|*.mov| Media File(*.mmm)|*.mmm|Mid File(*.mid;*,rmi)|*.mid;*.rmi| MPEG File(*.mpeg)|*.mpeg|;CFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);非模態(tài)顯示文件打開的框,設(shè)置顯示的類型。if(IDOK = filedlg.DoModal() CStrin
54、g PathName = filedlg.GetPathName();for(int i=0;im_iListNum;i+)CString PathNameCMP;PathNameCMP=m_list.GetItemText(i,3);if(0 = PathName.CompareNoCase(PathNameCMP)m_list.SetItemState(i, flag, flag); PathName=m_list.GetItemText(i,3); m_schedule.SetRange(0,m_time);m_player.SetUrl(PathName);return;主要是查詢當(dāng)前打開的文件是否已經(jīng)被打開且存在播放列表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 案場物業(yè)管理培訓(xùn)
- 醫(yī)用設(shè)備質(zhì)量控制與標(biāo)準(zhǔn)
- 課件直播不能截屏
- 課件的重要性與應(yīng)用
- 課件的銜接與過渡
- 智能醫(yī)療系統(tǒng)設(shè)計
- 醫(yī)療資源整合與科室主任策略
- 醫(yī)學(xué)影像學(xué)人工智能技術(shù)探討
- 醫(yī)學(xué)影像學(xué)新技術(shù)與新進展解析
- 醫(yī)學(xué)影像信息學(xué)發(fā)展動態(tài)
- 2025年大學(xué)公共管理(公共管理學(xué))試題及答案
- 雨課堂學(xué)堂在線學(xué)堂云《藥物信息學(xué)(山東大學(xué) )》單元測試考核答案
- 鋼結(jié)構(gòu)波形梁護欄技術(shù)說明書
- 新能源車電池性能檢測報告范本
- 2025年春新滬粵版物理八年級下冊全冊教案
- 2025年上海市嘉定區(qū)高考生物二模試卷
- 量子醫(yī)學(xué)課件
- 2025年秋閩教版小學(xué)英語五年級上冊(期末)綜合詞匯句子專項訓(xùn)練題及答案
- 大學(xué)消防風(fēng)險評估報告
- GB/T 46127-2025機用套筒扳手傳動附件
- 骨科骨筋膜室綜合征護理查房
評論
0/150
提交評論