版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、XX科技大學(xué)普通本科畢業(yè)設(shè)計(jì)論文說明書課題名稱基于VC+的多媒體播放器設(shè)計(jì)與實(shí)現(xiàn)學(xué)院計(jì)算機(jī)科學(xué)與通信工程學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)(軟件工程方向)班級(jí)指導(dǎo)教師2015年05月01日摘要隨著互聯(lián)網(wǎng)的快速開展,多媒體技術(shù)和多媒體通訊技術(shù)的逐步成熟使得信息從單一媒體到多媒體的方向開展,人們對(duì)多媒體信息的需求量日益增加,多媒體播放器也應(yīng)運(yùn)而流行起來。大多數(shù)多媒體播放器軟件的功能根本小異,一般都可支持本地媒體文件和網(wǎng)絡(luò)媒體文件。功能上已經(jīng)大致完善,但是也有缺乏之處。論文主要作了以下工作:一、詳細(xì)地介紹了該課題研究的目的和多媒體技術(shù)開展的現(xiàn)狀和開展趨勢(shì),介紹該課題的主要工作容和難點(diǎn)所在。二、對(duì)軟件可行性研究
2、初步工程方案、需求的分析,同時(shí)通過用戶調(diào)查和對(duì)軟件性能和功能了解制定開發(fā)流程,設(shè)定好工程的開發(fā)環(huán)境,之后逐步按流程和需求完成軟件的初步設(shè)計(jì),對(duì)于設(shè)計(jì)實(shí)現(xiàn)過程中的難題,尋找可行的解決方案。三、對(duì)播放器程序的概要設(shè)計(jì),播放器系統(tǒng)按功能進(jìn)展建立和劃分模塊,以及確立模塊與模塊的接口,并調(diào)用好各模塊和整體間連接,再者就是分析好層次構(gòu)造,設(shè)計(jì)友好的人機(jī)界面,最后再軟件的詳細(xì)設(shè)計(jì)以及實(shí)現(xiàn)主要的功能代碼,列出該局部函數(shù)的代碼。四、對(duì)播放器程序的測(cè)試,在特定的測(cè)試環(huán)境的平臺(tái)下,主要是于軟件所實(shí)現(xiàn)的根本功能進(jìn)展了黑盒測(cè)試,通過測(cè)試發(fā)現(xiàn)輸入還有輸出的邏輯錯(cuò)誤、以及在初始化時(shí)、因?yàn)殄e(cuò)誤導(dǎo)致的程序的終止,界面的顯示發(fā)生
3、不正常,程序的性能和功能發(fā)生了不正確錯(cuò)誤等等。通過使用Windows7操作系統(tǒng)對(duì)多媒體播放器的設(shè)計(jì)與實(shí)現(xiàn),程序設(shè)計(jì)的開發(fā)工具采用MicrosoftVisualC+6.0。在程序設(shè)計(jì)中,使用了微軟公司的ActiveX控件WindowsMediaPlayer(WMpt過不斷運(yùn)行調(diào)試,初步實(shí)現(xiàn)了多媒體播放器的軟件開發(fā)的根本功能。基于MFC集成開發(fā)環(huán)境,使用Windows操作系統(tǒng)提供的ActiveX實(shí)現(xiàn)編程,并完成需求的功能。并實(shí)現(xiàn)了占用存比擬小,界面簡(jiǎn)潔明了,功能較完全,支持多格式的視頻和音頻,同時(shí)具有程序強(qiáng)健性強(qiáng)等特點(diǎn)關(guān)鍵詞:多媒體技術(shù),播放器,ActiveX,MFC,多媒體,MCIAbstrac
4、tWiththeInternetandthedevelopmentofinformationtechnology,multimediatechnologymaturesandmultimediamunicationstechnologymakesinformationfromasinglemediatomultimediadirection,increasingpeoplesdemandformultimediainformation,multimediaplayershouldbetransportedandpopular.Mostmultimediaplayersoftwarefuncti
5、onssubstantiallysimilar,generallycansupportlocalmediafilesandonlinemediafiles.Thefunctionhasbeensubstantiallyimproved,buttherearedrawbacks.Papermadethefollowingwork:Adetaileddescriptionofthecurrentsituationanddevelopmenttrendofpurposeandmultimediatechnologydevelopmentintheresearch,introducesthemainc
6、ontent.Second,preliminaryfeasibilitystudyofsoftwareprojectplanning,requirementsanalysis,whiledevelopingthedevelopmentprocessthroughusersurveysandunderstandtheperformanceandfunctionalityofthesoftware,setuptheprojectsdevelopmentenvironment,thengraduallyaccordingtotheprocessandrequirementstopletethepre
7、liminarydesignsoftware,Forthedesignandimplementationproblemsintheprocess,tofindviablesolutions.Third,theplayerprogramsoutlinedesign,playersystemsetupanddividedbyfunctionmodule,andtheestablishmentofaninterfacemoduleandmodules,andeachmoduleandtheoverallgoodcallen,additionisgoodhierarchyanalysis,design
8、-friendlydetaileddesignofman-machineinterface,software,andfinallyachievethemainfunctionofthecode.Fourth,thetestplayerprogram,inplatform-specifictestenvironment,primarilyintherealizationofthebasicfunctionsofthesoftwareblackboxtestingwerefoundtoinputaswellasoutputoflogicerrors,andpassthetestduringinit
9、ialization,becauseterminationerrorsoftheprogram,theinterfacedisplaysunusualoccurrence,performanceandfunctionalityoftheprogramisnotcorrecttheerroroccurred,andsoon.ThroughWindows7operatingsystemdesignandimplementationofmultimediaplayerusedprogrammingdevelopmenttoolsusingMicrosoftVisualC+6.0.Inprogramm
10、ing,theuseofMicrosoftsActiveXcontrols-WindowsMediaPlayer(WMP),byconstantlyrunningdebugging,theinitialrealizationofthebasicfunctionsofthemultimediaplayersoftwaredevelopment.MFC-basedintegrateddevelopmentenvironment,usingActiveXWindowsoperatingsystemprovidesforprogramming.Andpletefunctionalneeds.Andto
11、achievethememoryforrelativelysmall,conciseinterface,featuresamorepletemulti-formatvideoandaudio,butalsohasrobustproceduresandothercharacteristics.Keywords:multimediaplayer,ActiveX,MFC,multimedia,MCI緒論1前言1背景2 TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 研究目的4 HYPERLINK l bookmark14 o Curre
12、nt Document 相關(guān)技術(shù)4需求分析8 HYPERLINK l bookmark18 o Current Document 播放器軟件根本調(diào)查8 HYPERLINK l bookmark20 o Current Document 軟件功能分析10 HYPERLINK l bookmark22 o Current Document 軟件運(yùn)行環(huán)境13 HYPERLINK l bookmark24 o Current Document 業(yè)務(wù)流程分析13 HYPERLINK l bookmark26 o Current Document 數(shù)據(jù)流程分析14 HYPERLINK l bookmark
13、28 o Current Document 可行性分析17 HYPERLINK l bookmark30 o Current Document 系統(tǒng)總體設(shè)計(jì)18 HYPERLINK l bookmark32 o Current Document 概要設(shè)計(jì)18界面設(shè)計(jì)22詳細(xì)設(shè)計(jì)25 HYPERLINK l bookmark38 o Current Document 功能模塊詳細(xì)設(shè)計(jì)25 HYPERLINK l bookmark40 o Current Document 文件模塊設(shè)計(jì)28 HYPERLINK l bookmark42 o Current Document 播放控制模塊設(shè)計(jì)31 H
14、YPERLINK l bookmark44 o Current Document 播放列表模塊設(shè)計(jì)38播放循環(huán)模塊實(shí)現(xiàn)43音量模塊實(shí)現(xiàn)45定時(shí)關(guān)閉46對(duì)話框初始化495軟件測(cè)試52測(cè)試方案52測(cè)試用例535.3.根據(jù)測(cè)試過程制定兩組測(cè)試用例,用例組如下表5.1和表5.2所示黑盒測(cè)試54文件功能54播放控制功能56播放列表功能57音量控制模塊58播放模式模塊59定時(shí)關(guān)閉模塊60完畢語61致62參考文獻(xiàn)64.word.zl.1緒論前言隨著科學(xué)技術(shù)的開展,在計(jì)算機(jī),手機(jī)普及的今天,信息傳播速度越來越快,也越來越廣,多媒體作為一種將圖像,聲音,文本等多種媒體據(jù)為一身的存在形式,在計(jì)算機(jī)、手機(jī)、隨身聽等
15、載體中出現(xiàn),成為人們?cè)谏钪蝎@取信息來源之一。在互聯(lián)網(wǎng)起步的年代,網(wǎng)絡(luò)技術(shù)、計(jì)算機(jī)硬件水平較低的限制,人們獲取新聞信息主要還是以看報(bào)紙,電視,還有人與人間的交流,媒體的傳播主要以方式播送電視里,DVD播放器,當(dāng)今網(wǎng)絡(luò)技術(shù)的不斷提高、迅速開展,人們能夠更方便的連接互聯(lián)網(wǎng)來獲取信息,流媒體的出現(xiàn),多媒體的開展對(duì)世界的信息文化傳播起到了促進(jìn)作用,加快了信息全球化的開展,同時(shí)也成為了信息化今天的一局部。播放器作為一種播放視頻或音頻文件的軟件,把數(shù)字信號(hào)加工處理成圖片聲音等多種方式,識(shí)別展現(xiàn)同時(shí)存在一種或者多種媒體文件,媒體作為信息的載體,存儲(chǔ)設(shè)備作為媒體的載體,由載體(硬盤等)-播放器-多媒體信息(視
16、頻音頻),使得存在載體中的媒體信息得以彰顯。,大多數(shù)播放器攜帶解碼器用來復(fù)原已經(jīng)過的壓縮媒體文件,同時(shí)播放器還需要自帶一組變換頻率緩沖算法?,F(xiàn)在播放器主要為音頻播放器(代表軟件:天天動(dòng)聽,千千靜聽,酷狗,QQ音樂等)和視頻播放器(代表軟件:RealPlayerKMPlayer,暴風(fēng)影音,迅雷看看等)。常用多媒體的文件主要格式包括:音頻格式(AIFF;AAC;MP3;WAVE;WMA等)、視頻格式(F4V;AVI;RMVB;MOV,WMV,MKV等)。設(shè)計(jì)目標(biāo)設(shè)計(jì)一個(gè)能支持多種格式,包括視頻格式和音頻格式的的播放器,有良好的人機(jī)交互界面,且播放功能完善,還附加其他需求的而添加的功能,支持播放列表
17、,音量控制等,具體的功能根本符合當(dāng)今視頻音頻播放器的需求來設(shè)計(jì),并在這標(biāo)準(zhǔn)上根據(jù)自己的需要做一下修改。背景媒體是作為信息載體的一種形式,在計(jì)算機(jī)中,它有兩種含義:1.作為傳播信息的載體,有包括文字、圖片、聲音、語言、視頻、音頻等。2.作為存儲(chǔ)信息的載體,比方ROM只讀存儲(chǔ)器、RAM存、磁盤等儲(chǔ)存設(shè)備。媒體作為信息的載體,它接收各式的數(shù)據(jù)信息,如圖像,聲音,文字等,再經(jīng)過了計(jì)算機(jī)處理以及加工之后,以文字形式、聲音形式、圖片形式、動(dòng)畫形式等多種形式彰顯,實(shí)現(xiàn)輸入/輸出(I/O)方式的多元化,同時(shí)改變了舊時(shí)計(jì)算機(jī)只能承受輸入輸出文字信息、數(shù)據(jù)信息的局限性。通常我們將媒體分為了五大類:1、感覺媒體:能
18、夠直接作用于人的感官,使人產(chǎn)生感覺的媒體,如聲音、圖像、動(dòng)畫、文字等。2、表示媒體:為傳輸感覺而創(chuàng)造出來的中間手段,能夠使感覺有效地從一處傳遞到另一處。3、表現(xiàn)媒體:用在感覺媒體和信息傳輸中電信號(hào)之間轉(zhuǎn)換所用的媒體,大致是指信息輸入、輸出的工具設(shè)備。包括輸入媒體例如:鼠標(biāo)、攝像機(jī)、鍵盤以及麥克風(fēng)等和輸出媒體例如:屏幕、紙和喇叭等。4、存儲(chǔ)媒體:以存儲(chǔ)表示媒體的載體。5、傳輸媒體:用來將表示媒體從某一處傳輸?shù)搅硪惶幍奈锢韺?shí)體。用來進(jìn)展網(wǎng)絡(luò)傳輸?shù)耐ㄓ嵔橘|(zhì)例如:有線方式有同軸電纜、光纖以及雙絞線等,而無線方式那么有wifi、藍(lán)牙和紅外線等。1多媒體作為近幾年出現(xiàn)的新生事物,是融合兩種或者多種媒體的形
19、式,我們稱之為多媒體,這種混合形式的信息載體,在當(dāng)今的地位顯得越來越重要,在人們?nèi)バ畔⑿枨罅看蟮慕裉?,多媒體舉足輕重,相信在不久的一段時(shí)間中,多媒體會(huì)朝著更好的方向快速的開展,如全息投影虛擬成像技術(shù),都開場(chǎng)新的技術(shù)革命。人承受信息主要通過:視覺、聽覺、嗅覺、觸覺、味覺。也就是說明人有五種承受信息的方式,文字信息只能靠視覺獲取,聲音靠聽覺,同理氣味靠嗅覺和味覺,壓力和溫度靠觸覺。其中90%的信息來自視覺,想象一下。光是看一段動(dòng)畫就類似感覺到了90%的信息,此時(shí)再加上聲音,溫度,壓力,氣味的結(jié)合,那就是身臨其境了嗎?多媒體技術(shù)(MultimediaTechnology是一種將計(jì)算機(jī)中圖像方面、文字
20、方面和聲音方面等各式各樣的信息融合一體,形成了計(jì)算機(jī)和用戶之間人機(jī)交互作用的技術(shù)。多媒體技術(shù)涉及的是計(jì)算機(jī)的相關(guān)的對(duì)象的產(chǎn)物只屬于計(jì)算機(jī)領(lǐng)域的技術(shù),所以說電視,播送等均不屬多媒體技術(shù)的圍。2多媒體技術(shù)的特點(diǎn):.集成性和多樣性。多媒體融合了多種單一媒體聚于一身,經(jīng)過對(duì)在計(jì)算機(jī)媒中以數(shù)字信息化處理和加工形成一人具有多種屬性的新形式,能更好的傳達(dá)和承載信息。具有媒體無法具有的優(yōu)勢(shì)。.數(shù)字化。多媒體以數(shù)字形式存在。.人機(jī)交互性。人機(jī)交互就是多媒體的一大特點(diǎn)。它形成了人與計(jì)算機(jī)、人與計(jì)算機(jī)及計(jì)算機(jī)間的交互,交互使人感覺身臨其境、置身其中,更有利用戶使用和控制信息手段。3.實(shí)時(shí)性。畫面和聲音信息等能隨時(shí)間
21、而動(dòng)態(tài)的變化。1.3研究目的近年隨著來計(jì)算機(jī)產(chǎn)業(yè)和科學(xué)技術(shù)的開展,硬件的本錢不斷減少,傳輸瓶頸不斷的突破,個(gè)人計(jì)算機(jī)性能的提高應(yīng)用越來越普及。突破硬件條件的限制,對(duì)圖像,視頻等更高層次的支持,在計(jì)算機(jī)存儲(chǔ)容量,存儲(chǔ)媒體的信息容量擴(kuò)大,網(wǎng)絡(luò)飛躍式的開展,網(wǎng)絡(luò)傳輸提高速度上,傳輸媒體顯得更方便快捷,媒體交互變得更容易,使得多媒體應(yīng)用更加的廣泛,在新聞、廣告、教育、娛樂、科研領(lǐng)域應(yīng)用,并且得到很好的利用,于是我萌生嘗試制作一個(gè)基于VC+多媒體播放器,雖然網(wǎng)上已經(jīng)有了許多功能強(qiáng)大,界面優(yōu)美,且算法精良的播放器,但大多數(shù)軟件都以商業(yè)利益為主,嵌廣告,以展現(xiàn)多媒體的工具來傳播信息,并通過廣告應(yīng)用多媒體技術(shù)
22、到商業(yè)領(lǐng)域,也是值得學(xué)習(xí)借鑒的。我想可以通過設(shè)計(jì)和實(shí)現(xiàn)的過程學(xué)習(xí)和應(yīng)用多媒體技術(shù)。首先播放器要具有根本的播放控制的功能,且對(duì)大多數(shù)視頻文件avi,Wmv,mpeg等、音頻文件wav,cd,ai,fmp3等格式的支持,功能有翻開、播放、快進(jìn)、快退、暫停、停頓,有播放列表以及列表管理,進(jìn)度條,音量控制,單曲循環(huán),列表循環(huán),隨機(jī)播放等循環(huán)功能,以按鍵操控、快捷鍵操控和鼠標(biāo)操控為主,播放器的界面以整齊、簡(jiǎn)潔明了的風(fēng)格布局,開發(fā)使用的操作系統(tǒng)為WIN7旗艦版,測(cè)試使用的操作系統(tǒng)WIN7旗艦版,軟件支持系統(tǒng)WIN8/WIN7/WINXP,開發(fā)工具為VC+6.0,使用微軟的微軟根底類庫(kù)MFC)編程,通過Wi
23、ndowsMediaPlayd的控件以及MCI接口,開發(fā)效率也是比擬高,精心去設(shè)計(jì)程序,我們可以完成一個(gè)相對(duì)不錯(cuò)的播放器。對(duì)多種格式的兼容以及支持,存占用率比擬低,適合配置低的或者是要求不高的用戶,國(guó)大局部1.4相關(guān)技術(shù)C+語言TheC+ProgrammingLanguagenew C, 之后1983年,在爾實(shí)驗(yàn)室在C語言的根底上推出了C+,又叫CwithClass,最后彳4名于C語言的+操作符,表示源自C語言的自然演變。C+是一種面向?qū)ο蟮木幊陶Z言,作為一種通用的編程語言,得到了廣泛的應(yīng)用,C+具有多種編程式:面向?qū)ο缶幊?、過程化編程以及泛型編程。作為C語言擴(kuò)展,保存了C語言的大局部語法,在
24、它的根底上引入了對(duì)象的模型,同樣設(shè)計(jì)C語言考慮的是實(shí)現(xiàn)對(duì)過程事物的控制,而C+這是思考如何構(gòu)建對(duì)象模型。C+對(duì)C語言的擴(kuò)展主要表現(xiàn)在1.類型檢查更加嚴(yán)格2.增加標(biāo)準(zhǔn)模版庫(kù)(STL)3.C+增添了面向?qū)ο?.C+還增添了對(duì)運(yùn)算符的重載5.C+增添泛型編程(Template)6增添了異常處理。然而C語言和C+最大區(qū)別不是在于解決問題的方法,主要是解決問題的思想的方法不同。4C+的語言特點(diǎn):1.語言靈活,能高效的執(zhí)行,具有高級(jí)語言的優(yōu)點(diǎn),C+可以直接訪問物理地址。2.無需復(fù)雜的程序設(shè)計(jì)環(huán)境,多種平臺(tái)支持C+。3.C+靜態(tài)類型同C語言一樣具有高效且可移植性。4.面向?qū)ο笳Z言,且有很多優(yōu)秀的程序框架如M
25、FC、QT、OWL等。C+具體開發(fā)過程如圖1.1所示MFC微軟根底類MicrosoftFoundationClasseSMFC(微軟根底類是一種應(yīng)用程序框架,隨著VC+開發(fā)工具發(fā)布,由一個(gè)CWinApp類對(duì)象和MFC派生類組成,可以看成為封裝了的Win32該類庫(kù)提供可復(fù)用的類庫(kù),微軟提供開發(fā)人員使用,MFC作為VC+的一局部,提供C+在windows平臺(tái)下的程序開發(fā)的效率和便利,MFC作為WinAPI微軟提供的Windows應(yīng)用程序編程接口和C+的結(jié)合,允許第三方編程語言進(jìn)展在Windows操作系統(tǒng)下應(yīng)用程序的開發(fā),操作系統(tǒng)提供的API供發(fā)開人員使用,而系統(tǒng)部的實(shí)現(xiàn),你可以不需知曉,可以說MF
26、C是微SDK軟API在C+中的封裝。其關(guān)鍵技術(shù)在消息映射和消息傳遞的消息處理機(jī)制,在中沒有消息映射的概念,消息響應(yīng)傳遞回調(diào)函數(shù),然后判斷消息類型,再接著處理。其中MFC中重要的幾個(gè)類:I.CWnd作為大多數(shù)“窗口的父類,如CButton(按鈕)、CFrameWnd框架窗口、CDialog附話框)等。2.CDialog對(duì)話框類。3.CDC全名設(shè)備文本,與GDI圖形設(shè)備接口一起負(fù)責(zé)文字圖像顯示的工作,通過對(duì)屏幕的像素點(diǎn)進(jìn)展繪圖。4.CDocument,文檔類主要負(fù)責(zé)讀取和寫盤,處理存和磁盤的交互的。5.CWinApp應(yīng)用程序類,MFC程序的主函數(shù),程序編譯執(zhí)行的入口和出口,其中InitInstan
27、ce函數(shù)負(fù)責(zé)初始化窗體。5ActiveXActiveX控件或稱OCX控件,作為組件嵌入軟件或者網(wǎng)頁中,特點(diǎn)有快速開發(fā),支持多語言的編程,在組件作為根底建立的ActiveX,為開發(fā)人員提供了一個(gè)開放集成的平臺(tái),在WEB網(wǎng)頁和應(yīng)用程序中應(yīng)用廣泛.2需求分析播放器軟件根本調(diào)查多媒體播放器的根本情況就是能對(duì)多種媒體格式的視頻音頻進(jìn)展數(shù)字信號(hào)存儲(chǔ)的播放。在網(wǎng)絡(luò)上已經(jīng)有了許多流行且優(yōu)秀的播放器,我們可以先去其概況和功能進(jìn)展了解然后制定軟件需求。由騰訊公司開發(fā)制作的一款支持本地媒體文件本地播放器,能支持多種格式的視音頻,第一個(gè)創(chuàng)立輕量級(jí)多播放的核技術(shù),作為一款“純潔的多媒體播放器,沒有任何植入廣告,也沒有強(qiáng)
28、制安裝其他軟件,且支持的格式多,深受好評(píng)。界面:新版的QQ影音的界面比舊版更為多彩,但還是一如既往的簡(jiǎn)潔,同時(shí)還提供換膚的功能,不是僅僅是把界面的背景做更改,而是把整體的布局和窗口的樣式以及顏色風(fēng)格都做了改動(dòng)。功能界面有進(jìn)度條、播放控制按鈕、隱藏和顯示播放列表。播放控制功能:播放、暫停、停頓、上一曲、下一曲、調(diào)整進(jìn)度。播放列表功能:添加文件夾、添加文件、刪除選中項(xiàng)、選中播放,翻開自動(dòng)保存列表列表排序。播放循環(huán)功能:?jiǎn)我徊シ?順序播放,無序播放,單一循環(huán)播放,以及列表循環(huán)播放。對(duì)一個(gè)本地播放器來說,暴風(fēng)影音功能算是較為強(qiáng)大的了。但是根據(jù)時(shí)代的開展,現(xiàn)在主流的播放器都是據(jù)有網(wǎng)絡(luò)播放和本地播放兩種功
29、能。有效勞器支持的播放器可以直接在播放器中搜索視頻,代表暴風(fēng)影音。作為本地播放器擁有播放器的功能,良好的人機(jī)交互界面,已經(jīng)流暢的解碼同時(shí)也作為網(wǎng)絡(luò)播放器,能在線檢索資源,在線播放和緩存媒體資源的軟件。功能強(qiáng)大,深受廣闊用戶的喜愛。還具有轉(zhuǎn)換格式可以對(duì)當(dāng)前格式進(jìn)展轉(zhuǎn)換,同時(shí)可以對(duì)播放文件進(jìn)展片段的截取,可以把某塊片段截取下來保存,還有對(duì)視頻截圖,對(duì)當(dāng)前畫面的保存成位圖。軟件功能分析多媒體播放器通過初步的對(duì)用戶群體調(diào)查我了解到作為用戶他的需求重點(diǎn)主要在如下幾個(gè)方面:.要求功能齊全,兼容性強(qiáng)。.程序必須具有比擬迅速的響應(yīng)速度。.程序要求占的系統(tǒng)資源比擬少,同時(shí)不存在二級(jí)或二級(jí)以上的BUG。.具有美觀
30、友好的人機(jī)交互的界面。還經(jīng)過了對(duì)QQ影音、暴風(fēng)影音等幾款多媒體播放器分了解,分析制定了多媒體播放器的根底需求分析如下:.實(shí)現(xiàn)播放控制功能,播放控制包括播放、暫停、停頓以及上一曲和下一曲等根本的播放器控制功能,提供用戶進(jìn)展操作,當(dāng)播放音樂時(shí)播放界面就顯示波形動(dòng)畫,還有添加全屏播放的功能,讓用戶得到更好的體驗(yàn)。.實(shí)現(xiàn)進(jìn)度的控制,進(jìn)度控制包括播放進(jìn)度條、快進(jìn)和快退,方便用戶了解觀看進(jìn)度已經(jīng)對(duì)播放進(jìn)度的控制和改變。每次快進(jìn)或快退,播放進(jìn)度前進(jìn)或者退后百分之一,假設(shè)是播放進(jìn)度的百分之一小于五秒那么每次快進(jìn)或者退后5秒。.實(shí)現(xiàn)音量控制,上調(diào)或下調(diào)滑條來控制音量的增加或者減少,音量的變化不影響操作系統(tǒng)的音量
31、,可以通過勾選音量按鈕來開關(guān)音量。.實(shí)現(xiàn)播放列表以及列表的管理,設(shè)計(jì)一個(gè)按鈕能讓播放列表顯示和隱藏,在列表中顯示媒體文件的信息,如文件名、文件格式、播放時(shí)長(zhǎng)、所在硬盤的位置,能在列表里添加文件、移除選中的文件、雙擊播放選中的文件、清空列表、保存列表、還有調(diào)整文件所在列表的位置,導(dǎo)入列表和導(dǎo)出列表。.實(shí)現(xiàn)支持多種格式音頻MP3、WMA等、視頻格式AVI、WMV等的翻開。.實(shí)現(xiàn)菜單欄,將所以控制功能都對(duì)應(yīng)實(shí)現(xiàn)在菜單欄中,設(shè)置快捷鍵的綁定,以方便用戶使用對(duì)應(yīng)的功能和操作,有利于建立良好的人機(jī)交互的界面。.界面簡(jiǎn)潔整齊,讓用戶一目了然。.實(shí)現(xiàn)播放循環(huán)模式,循環(huán)模式包括單一播放,順序播放,無序播放,單一
32、循環(huán)播放,以及列表循環(huán)播放。.實(shí)現(xiàn)程序托盤,讓程序可以化為最小化圖標(biāo)在后臺(tái)運(yùn)行,在播放音樂時(shí),可以給用戶更好的享受。.定時(shí)關(guān)閉功能,該功能主要面向音頻方面的需求設(shè)計(jì)的作為音頻播放器時(shí),或許睡覺看書時(shí)可以聽歌,為用戶設(shè)計(jì)計(jì)關(guān)機(jī)和關(guān)閉程序的功能。.截圖功能,此功能面向視頻方面的需求,對(duì)于用戶在觀看影片時(shí)遇到的精彩畫面可以及時(shí)的截取下來保存。.提供用戶換膚的功能,用戶可以自定義局部界面,讓其自己可以根據(jù)自己的喜好制定界面風(fēng)格。具體功能用例圖見圖2.1所示多媒體播放藉系統(tǒng)V1播節(jié)播關(guān))c3Z蔡弓)-G量E)x_x/環(huán)模0播放到運(yùn)G空列弓)(/F-iQ軟件運(yùn)行環(huán)境操作系統(tǒng):Windows2000/Win
33、dowsXP/WindowsVista/Windows7業(yè)務(wù)流程分析首先開場(chǎng)程序,先是翻開一個(gè)文件,有兩種翻開方式,一、從列表里添加文件或者導(dǎo)入列表翻開,二、直接翻開文件,如果文件是符合兼容的類型,然后開場(chǎng)播放,否那么視為翻開失敗,播放過程中有一些的供用戶使用的操作,列表翻開可以使用列表的循環(huán)模式,用戶可以對(duì)列表進(jìn)展一系列的操作。最后是退出,用戶使用完畢完畢程序。詳解見圖2.2所示.開始數(shù)據(jù)流程分析根據(jù)播放控制模塊的數(shù)據(jù)流程分析,首先獲取媒體文件的信息,通過WMP的解碼器進(jìn)展媒體文件的數(shù)據(jù)解碼,解碼成數(shù)據(jù)信息流,其中包括了聲音信息流和圖片信息流,聲音數(shù)據(jù)流通過系統(tǒng)進(jìn)展聲音合成,聲卡承受到數(shù)據(jù)流
34、處理并輸出。圖像數(shù)據(jù)流通過圖像編碼,再進(jìn)展顯示控制的選項(xiàng),顯卡獲取數(shù)據(jù)流,處理并輸出。關(guān)于系統(tǒng)的數(shù)據(jù)流圖見圖2.3和圖2.4所示.圖2.4多媒體播放器系統(tǒng)0層圖播放列表模塊過翻開文件添加到播放列表中或者是通過列表添加功能添加文件,列表中以表格的形式分別文件名,文件的格式,文件播放的時(shí)長(zhǎng),文件路徑。一目了然的顯示媒體相關(guān)信息?;跁r(shí)間戳的播放過程中詳解見圖2.5僅僅對(duì)早到的或晚到的數(shù)據(jù)塊進(jìn)展等待或快速處理,往往是不夠的如果想要更加主動(dòng)并且有效地調(diào)節(jié)播放性能,就需要引入反應(yīng)機(jī)制,也就是通過比照音視頻的時(shí)間戳將當(dāng)前數(shù)據(jù)流的播放狀態(tài)反應(yīng)給上層的“源如果音頻流滯后,就即時(shí)通知音頻解碼器加快音頻流輸出,但
35、是如果滯后太多,那么直接將當(dāng)前數(shù)據(jù)丟棄,直接跳到下一幀;如果視頻流滯后,就通知音頻解碼器減慢音頻輸出速度等待視頻流,如滯后太多也直接進(jìn)展跳幀數(shù)據(jù)流首先通過別離器分解為視頻數(shù)據(jù)流和音頻數(shù)據(jù)流,然后經(jīng)過對(duì)應(yīng)的解碼器,同時(shí)由本地系統(tǒng)時(shí)鐘來進(jìn)展時(shí)間戳控制;獲得準(zhǔn)確顯示或回放時(shí)間以后進(jìn)展時(shí)間戳比擬;假設(shè)同步那么直接輸出,不同步那么進(jìn)展音頻跳幀或等待,直到同步后輸出。分離器音 頻 解 碼 器視頻音頻同 步時(shí)間截控制視 頻 輸 出視 頻 解 輸 出圖2.5視頻音頻同步數(shù)據(jù)流程可行性分析開發(fā)工具:VisualStudio2013和VC+6.0開發(fā)語言:C+采用的是VisualC+是Windows操作系統(tǒng)上常見
36、的C+開發(fā)工具,是Microsoft公司推出的目前使用極為廣泛的基于Windows平臺(tái)的C+的可視化的開發(fā)環(huán)境。VisualC+6.0編譯器負(fù)責(zé)將C+源代碼編譯成匯編文件,轉(zhuǎn)變?yōu)橹虚g文件,然后使用連接器將相關(guān)的中間文件連接起來,生成可執(zhí)行的二進(jìn)制文件。VisualC+6.0不僅是一個(gè)C+編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境integrateddevelopmentenvironment,IDE。VisualC+6.0許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lassWizar”開發(fā)工具。這些組件通過一個(gè)名為DeveloperStudio
37、的組件集成為和諧的開發(fā)環(huán)境。使用VC+6.0編譯工具的MFC完成對(duì)多媒體播放器的制作,在過去,計(jì)算機(jī)程序的目標(biāo)是短小使得運(yùn)行速度快的代碼,當(dāng)今計(jì)算機(jī)的性能更好,價(jià)格更群眾,程序開發(fā)主要的經(jīng)費(fèi)從以前以硬件為主轉(zhuǎn)到了以程序維護(hù)、開發(fā)為主,所以當(dāng)今程序設(shè)計(jì)的第一要?jiǎng)?wù)、目標(biāo)是以可移植性,以維護(hù)性還有可讀性,做出一個(gè)播放器的途徑具有多種方式,但是因?yàn)橹饔^的原因開發(fā)語言和開發(fā)環(huán)境的限制,只能在這個(gè)根底上分析其他能夠達(dá)成目的的方法,根據(jù)查閱資料,目前根據(jù)需求能實(shí)現(xiàn)的有:.用MFC里面提供的ActiveX控件,在選擇WindowsMediaPlayer組件,使用WMP組件提供的類,對(duì)類的使用和操作來完成對(duì)多媒
38、體播放器的設(shè)計(jì)以及實(shí)現(xiàn),可以快速的完成一個(gè)功能強(qiáng)大,且兼容性和界面友好的多媒體播放器,在實(shí)際的工程的改方案會(huì)減少大量的本錢,有較好的開發(fā)效率。.使用系統(tǒng)自帶多媒體接口一一MCI(多媒體應(yīng)用編程接口),能在比組件更高的層次上控制媒體設(shè)備,操作較為繁瑣,卻能完成各種功能。綜上所述兩個(gè)條件分析,從開發(fā)效率上看的話,ActiveX控件的相對(duì)更高一些,可以在組件提供的類對(duì)象上進(jìn)展對(duì)多媒體播放器的各種功能的。且對(duì)ActiveX的可讀性更好一些,在組件限制的方面我們采用MCI編程,使用MCI強(qiáng)大的對(duì)系統(tǒng)多媒體接口的操控,從而開發(fā)出一個(gè)完善的播放程序。3系統(tǒng)總體設(shè)計(jì)概要設(shè)計(jì)播放器系系統(tǒng)的設(shè)計(jì):翻開播放器,播放
39、器程序首先進(jìn)展對(duì)話框信息的初始化,初始化的過程中初始化播放列表的信息,然后進(jìn)展播放、暫停等等的播放控制,修改播放器列表,記得當(dāng)前播放狀態(tài)信息,程序完畢。根據(jù)流程圖3.1所示播放系統(tǒng)流程圖圖3.1播放流程圖程序的應(yīng)用初始化信息有窗口的類型,系統(tǒng)函數(shù)的,對(duì)話框的框架,文檔類等,對(duì)程序的各模塊進(jìn)展初始化,以及播放器界面的初始化,然后讓程序運(yùn)行加載。加載列表之前所保存的文件信息,顯示預(yù)留提供操作,之后可以執(zhí)行相關(guān)播放停頓等控制操作,也可以把程序最小化托盤,在后臺(tái)運(yùn)行,需要時(shí)調(diào)出來使用,程序完畢前可以進(jìn)展播放器配置和播放信息的保存,以供下次翻開程序加載使用。根據(jù)功能劃分為六大模塊,詳情見圖3.2所示.(
40、多ag悻措的器:)_#_,_、文件 :貓放度制音量控制)(播放模式,定時(shí)關(guān)閉l播放列襄打開文件美閉上-曲和卜一曲T 播一迸班條 快進(jìn)和快退單一墻鼓或循環(huán)無序相放順序放-ik揩環(huán)設(shè)置美闌熨型計(jì)時(shí)關(guān)閉時(shí)間圖3.2系統(tǒng)功能構(gòu)造圖翻開mediaplayermediaplayerSfe進(jìn)展初始化,在翻開文件后進(jìn)展播放列表的加載,接下來可以進(jìn)展列表播放,列表數(shù)據(jù)的導(dǎo)入導(dǎo)出,列表的條目的排序和選項(xiàng)的上下挪動(dòng)順序,選中的選項(xiàng)移除和清空表格功能,見表下3.1所示。表3.1播放列表模塊功能設(shè)計(jì)播放列表模塊播放列表的導(dǎo)入/導(dǎo)出選中項(xiàng)的上/下移動(dòng)清空列表或移除選中項(xiàng)雙擊選中項(xiàng)來進(jìn)展播放。導(dǎo)入或?qū)С隽斜硇畔⒌蕉M(jìn)制文本
41、。鼠標(biāo)拖動(dòng)或按鍵幫助移動(dòng)改變選中項(xiàng)位置。點(diǎn)擊按鍵完成清空或選中再點(diǎn)擊功能按鍵。播放模式模塊有五種選擇模式,當(dāng)前只能存在一種模式五選一,菜單欄中的播放模式按鍵互相排除的單項(xiàng)選那么。還有有一個(gè)全屏播放模式。見下表3.2所示。表3.2播放模式模塊功能設(shè)計(jì)播放模式模塊單個(gè)播放和循環(huán)播放順序播放和循環(huán)播放當(dāng)前文件播放,或者連續(xù)的循環(huán)播放改文件。按順序播放當(dāng)前列表里的文件,播放完就停頓。循環(huán)當(dāng)前播放。隨機(jī)播放在當(dāng)前中隨機(jī)的選擇下個(gè)播放的文件。全屏全屏播放播放控制模塊包括對(duì)播放狀態(tài)的控制以及播放進(jìn)度的控制。見表3.3所示。表3.3播放控制模塊功能設(shè)計(jì)播放控制模塊包括暫停播放停頓的播放狀態(tài)進(jìn)展選擇,單擊相應(yīng)按
42、鍵實(shí)現(xiàn)播放狀態(tài)的切換,在沒有翻開文件和播放列表為空的情況下,按鍵點(diǎn)擊無效。通過上一個(gè)以及下一個(gè)進(jìn)展列表中文件上下的切換,當(dāng)前文件假設(shè)是在列表中的最舟-個(gè)文件,下一個(gè)時(shí)那么切到列表最上方的文件。播放進(jìn)度控制包括快進(jìn),進(jìn)度條,快退。單擊快進(jìn)前進(jìn)總進(jìn)度的百分之一,快退那么是倒退總進(jìn)度的百分之一。進(jìn)度條不僅僅用來顯示當(dāng)前的進(jìn)度概況,通過拖動(dòng)改變進(jìn)度。卜面是音量控制模塊。見表3.4所示。表3.4音量控制模塊功能設(shè)計(jì)音量控制模塊音量的增減,靜音設(shè)置有開啟和關(guān)閉總音量的開關(guān),關(guān)閉就是靜音,通過改變進(jìn)度條調(diào)整增加或者減少首量大小。媒體文件模塊。見表3.5所示表3.5文件模塊功能設(shè)計(jì)文件模塊文件翻開并且播放媒體
43、文件,對(duì)于無法兼容的文件不給供翻開功能。最后一個(gè)模塊是方案關(guān)閉模塊,主要是設(shè)置定時(shí)然后完成相應(yīng)的關(guān)閉操作。主要適用于播放音樂文件的時(shí)候。詳細(xì)見表3.6。表3.6定時(shí)關(guān)閉定時(shí)關(guān)閉設(shè)置定時(shí)可以設(shè)置定時(shí),設(shè)置規(guī)格最大為一天,最小為一分鐘。定時(shí)操作定時(shí)時(shí)間到了之后執(zhí)行的操作,關(guān)機(jī)或者關(guān)閉程序。倒計(jì)時(shí)顯示和后臺(tái)顯示倒計(jì)時(shí),開啟之后可以后臺(tái),也可以停頓定時(shí)方案。翻開VC+6.0New-Poject-MFCAppWizardEXE界面選擇對(duì)話框模式,然后在對(duì)主對(duì)話框右鍵選擇右鍵菜單中InsertActiveXControls,向下翻找到WindowsMediaPlayer的組件對(duì)該組件右鍵屬性又t組件屬性進(jìn)
44、展修改,ID設(shè)置為IDC_OCX1,在常規(guī)一欄下的控件布局選項(xiàng)中,把布局設(shè)置成None,這樣播放插件就只提供顯示功能而沒有其他的功能。我們把功能按鈕先布局好圖3.3主界面所示,對(duì)應(yīng)播放控制使用編組框圈起來十字排列分成上一個(gè),暫停,播放,停頓,下一個(gè)。播放模式使用下拉列表選擇播放的模式,音量設(shè)置單項(xiàng)選擇按鈕和滑動(dòng)條,通過勾選單項(xiàng)選擇鍵來開啟或者關(guān)閉音量,通過滾動(dòng)滑動(dòng)條調(diào)節(jié)音量大小。播放進(jìn)度用法滑動(dòng)條和靜態(tài)文本來實(shí)現(xiàn),左邊的文本是當(dāng)前的播放時(shí)間,右邊的文本是該媒體文件的最大時(shí)長(zhǎng),中間放有滑動(dòng)條,根據(jù)時(shí)間的推移,滑條跟著向右滑動(dòng),直到媒體文件播放完畢,滑條也劃到底部。在滑條右下方做了一個(gè)快進(jìn)和快退的
45、旋轉(zhuǎn)按鈕,按左邊的箭頭的功能是快退,每次快退總進(jìn)度的百分分一,按右邊的箭頭的功能是快進(jìn),每次按動(dòng)前進(jìn)總進(jìn)度的百分之一,同時(shí)拖動(dòng)進(jìn)度條也有調(diào)節(jié)播放進(jìn)度的功能。右邊一整塊是用列表控件做的播放列表,把風(fēng)格里的視圖設(shè)置為“報(bào)告,在列表下面添加5個(gè)管理列表的按鈕,翻開,添加,移除,清空,退出。圖3.3播放器主界面整體來看這個(gè)播放器界面已經(jīng)比擬完善了,就差把對(duì)應(yīng)的功能實(shí)現(xiàn)了。所以我們所設(shè)計(jì)的界面根本如一下列圖3.4所展示的那樣子,以簡(jiǎn)潔為主要風(fēng)格,功能按鈕排布整齊,雖然于其他優(yōu)秀的播放器的界面相比差之甚遠(yuǎn),但是在MFC的界面算較好者。圖3.4添加菜單欄后的播放器主界面4詳細(xì)設(shè)計(jì)功能模塊詳細(xì)設(shè)計(jì)翻開播放器后
46、,播放器先初始化,然后翻開文件,翻開的文件參加了播放列表,播放列表顯示了媒體文件的相關(guān)信息,然后進(jìn)展播放,導(dǎo)入和導(dǎo)出文件列表和一些對(duì)應(yīng)的列表管理的操作,清理和移動(dòng)列表中文件,之后可以選擇列表播放的模式,模式主要有五種,也可以進(jìn)展播放狀態(tài)的控制,調(diào)整播放進(jìn)度,改變音量的大小,切換當(dāng)前播放的容等,具體見圖4.1所示。圖4.1系統(tǒng)順序流程圖根據(jù)模塊的劃分,按文件、播放控制、播放列表、播放模式、音量的模塊順序逐步完成功能。在此之前先做一個(gè)菜單欄,在ResourcevieWS源視圖對(duì)當(dāng)前資源文件右鍵插入Menu菜單欄,對(duì)對(duì)話框右鍵屬性綁定IDR_MENU,或者是CMyMediaPlayerDlg的初始化
47、函數(shù)中添加對(duì)菜單欄創(chuàng)立按鈕如下表4.1所示。表4.1Menu按鍵信息表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上一個(gè)tCtrl+Alt+-ID_MENU_NEXT下一個(gè)tCtrl+Alt+一列表管理(&L)ID_MENU_ADD添加(&A)ID_MENU_DELETE刪除(&D)ID_MENU_CLEARN清空(&C)播放模式(&
48、M)ID_MENU_SINGLE單個(gè)播放(&S)tAlt+F1ID_MENU_ORDER順序播放(&O)tAlt+F2ID_MENU_LOOP循環(huán)播放(&L)tAlt+F3ID_MENU_RANDOM隨機(jī)播放(&R)tAlt+F4ID_MENU_SLELOOP單一循環(huán)(&E)tAlt+F5關(guān)于(&H)ID_MENU_ABOUTAboutMyMediaPlayer完成圖4.2的設(shè)置后,需要在資源視圖里右鍵插入一個(gè)Accelerator在里面添加對(duì)應(yīng)菜單欄按鍵的ID和快捷鍵信息進(jìn)展綁定IDKeyTypeID_F1LE_OPENCtrl+0VIRTKEYID_MENU_PLAYCtrl+VK_F1V
49、IRTKEYIDMENUSINGLEAlt*VKF1VIRTKEYID_MENU_PAUSECtrl+VK_F2VIRTKEYID_MENU_ORDERAlt+VK_F2VIRTKEYID_MENU_STOPCtrl+VKF3VIRTKEYID_MENU_LOOPAlt+VK_?3VIRTKEYIDMENURANDOMAlttVK_F4VIRTKEYID_MENU_SLELOOPAH+VK_F5VIRTKEYIDMENULASTCtrl+AH+VKLEFTVIRTKEYIDMENUHEXTCtrl十Alt+VK-RIGHTVIRTKEYID_EXITCtrl+WVIRTKEY圖4.2IDR_A
50、CCELERATOR最后一步是對(duì)按鍵做消息映射,詳細(xì)如圖4.3的顯示的樣子在CMyMediaPlayer的BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之間的代碼行中添力口我們形式如ON_MAND(ID_FILE_OPEN,OnOpen)第一個(gè)是按鍵ID第二個(gè)為相應(yīng)的功能函數(shù),這個(gè)是翻開文件的消息響應(yīng)。具體/|ON_COMMfiND(1D_FILE_OPEN,OnOpen)/OM2COIIMANDCID2EXlTTonExit)/OM2COMMfiNDtID2MENUPLfiY,OnPl叫)/ONCOnMfiHDCIDMENUPflLSEnPaucp)/DH二CdM
51、MaNDjID二MENU二TOP,Ontop)oQ:0MMRHDI口二HEHU二LAST押nLast)/OHCOHMfiHDtlD2MENUHEXT,OnNext)/OHlcOMMAHQdDlMEHUZsiNCLE.OnSingle)/OHCOMMAND(ID_MEHUORDER,OnOrder)nH_COMMAHD(IDZMEHU_LOCP.OnLoop)/ON_COI1MfiMD(ID_riENU_RnHDOI1,OnRan(!Glil)/OHCOMMfiND(lDMEMU5LEL(OP.OnSlelODp)圖4.3菜單欄按鍵消息映射因?yàn)椴藛螜诟靼存I所對(duì)應(yīng)的功能函數(shù)此時(shí)還并未實(shí)現(xiàn),所以注釋
52、起來,完成后的菜單欄媒體哀件舊指放笠制列表管理搭就模式M關(guān)于回L圖4.4IDR_MENU菜單欄再運(yùn)行看下主界面,在標(biāo)題欄的正下方出現(xiàn)了菜單.文件模塊設(shè)計(jì)表4.2文件模塊ID.IDC_OPENButtonvoidCMyMediaPlayerDlg:OnOpen()翻開文件,參加列表等見表4.2POSITIONpos;UINTflag=LVIS_SELECTED|LVIS_FOCUSED;pos=m_list.GetFirstSelectedItemPosition();intiIndexNum=m_list.GetNextSelectedItem(pos)獲取當(dāng)前的列表中已經(jīng)存在的文件數(shù)目,下面
53、會(huì)使用到。charszFileFilter=AllFile(*)|*|”Mp3File(*mp3)|*mp3|WmaFile(*.wma)|*.wma|”VideoFile(*.dat)|*.dat|WaveFile(*wav)|*wav|AVIFile(*avi)|*avi|MovieFile(*.mov)|*.mov|”MediaFile(*.mmm)|*.mmm|MidFile(*.mid;*,rmi)|*.mid;*.rmi|”MPEGFile(*.mpeg)|*.mpeg|;CFileDialogfiledlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFi
54、leFilter);非模態(tài)顯示文件翻開的框,設(shè)置顯示的類型。if(IDOK=filedlg.DoModal()CStringPathName=filedlg.GetPathName();for(inti=0;im_iListNum;i+)CStringPathNameCMP;PathNameCMP=m_list.GetItemText(i,3);if(0=PathName.pareNoCase(PathNameCMP)m_list.SetItemState(i,flag,flag);PathName=m_list.GetItemText(i,3);m_schedule.SetRange(0,m
55、_time);m_player.SetUrl(PathName);return;主要是查詢當(dāng)前翻開的文件是否已經(jīng)被翻開且存在播放列表里了,如果有那么直接從列表里播放,跳過翻開環(huán)節(jié)。m_list.SetFocus();m_media=static_cast(m_player.newMedia(PathName);m_playlist.appendItem(m_media);m_list.InsertItem(m_iListNum,m_media.GetName();m_list.SetItemText(m_iListNum,1,m_media.getItemInfo(FileType);m_li
56、st.SetItemText(m_iListNum,2,m_media.GetDurationString();m_list.SetItemText(m_iListNum,3,PathName);m_time=_ttol(m_media.getItemInfo(Duration);m_player.SetUrl(m_list.GetItemText(m_iListNum,3);m_list.SetItemState(m_iListNum,flag,flag);m_iListNum+;m_schedule.SetRange(0,m_time);m_PlayState=0;獲取翻開媒體文件的根本信
57、息,以及將其參加list列表中,按照表格的顯示方現(xiàn)象出來。設(shè)置進(jìn)度條滑動(dòng)的最大刻度為文件的播放時(shí)長(zhǎng)。翻開,顯示文件兼容的類型,符合類型的文件可以顯示出來,不符合的隱藏,翻開后進(jìn)展播放。播放控制模塊設(shè)計(jì)表4.3文件模塊ID類型對(duì)應(yīng)函數(shù)對(duì)象作用IDC_PLAYButtonvoidCMyMediaPlayerDlg:OnPlay()播放IDC_PAUSEButtonvoidCMyMediaPlayerDlg:OnPause()暫停IDC_STOPButtonvoidCMyMediaPlayerDlg:OnStop()停頓IDC_LASTButtonvoidCMyMediaPlayerDlg:OnLa
58、st()上一個(gè)IDC_NEXTButtonvoidCMyMediaPlayerDlg:OnNext()下一個(gè)IDC_PLAY_SlidervoidCMyMediaPlayerDlg:m_schedule播放進(jìn)度SLIDEROnCustomdrawPlaySlider(UINTnIDEvent)IDC_EDIT_EditBoxvoidCMyMediaPlayerDlg:OnTimer當(dāng)前進(jìn)度TIMENOW(UINTnIDEvent)時(shí)間IDC_EDIT_EditBoxvoidCMyMediaPlayerDlg:OnTimer總進(jìn)度TIMEALL(UINTnIDEvent)時(shí)間1播放、暫停和停頓使
59、用CWMPControls的類函數(shù),對(duì)象實(shí)例化m_controls,直接使用用實(shí)例調(diào)用對(duì)應(yīng)函數(shù)play實(shí)現(xiàn)播放,實(shí)現(xiàn)起來簡(jiǎn)單方便。無需對(duì)更低層的媒體接口進(jìn)展調(diào)用就可以完成相應(yīng)功能。見表4.3所示播放,設(shè)置int型成員變量playstate為0m_controls.play();m_PlayState=0;暫停,設(shè)置int型成員變量playstate為1m_controls.pause();m_PlayState=1;停頓,設(shè)置int型成員變量playstate為2m_controls.stop();m_PlayState=1;2.上一個(gè)和下一個(gè)使用Button控件,在對(duì)應(yīng)的響應(yīng)函數(shù)中實(shí)現(xiàn)具體功
60、能如下。上一個(gè)切換功能:if(iItem=0)m_list.SetItemState(m_iListNum-1,flag1,flag1);strName=m_list.GetItemText(m_iListNum-1,3);如果位置等于0那么表示列表已經(jīng)到頂了,它的上一個(gè)為空,設(shè)置它的上一個(gè)在列表的最底端,就是列表最后,也就是最大列表數(shù)-1的。elsem_list.SetItemState(iItem-1,flag1,flag1);strName=m_list.GetItemText(iItem-1,3);如果不為0那么切換在上個(gè)item。m_player.SetUrl(strName);下一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 插圖在小學(xué)課本的互動(dòng)教學(xué)作用
- 個(gè)性化彩繪協(xié)議規(guī)范文檔2024年版
- 教育機(jī)構(gòu)客戶服務(wù)流程的個(gè)性化改造
- 數(shù)字化時(shí)代的學(xué)習(xí)心理變革
- 二零二五年度鏟車租賃與道路施工許可證合同3篇
- 教育視域下的學(xué)生心理健康挑戰(zhàn)與對(duì)策分析
- 網(wǎng)絡(luò)安全教育構(gòu)建孩子信息安全防線
- 漯河2024年河南漯河市立醫(yī)院(漯河市骨科醫(yī)院漯河醫(yī)專二附院)招聘高層次人才筆試歷年參考題庫(kù)附帶答案詳解
- 漯河2024年河南漯河市中醫(yī)院招聘高層次人才5人筆試歷年參考題庫(kù)附帶答案詳解
- 湖北2025年湖北武漢理工大學(xué)專職輔導(dǎo)員招聘筆試歷年參考題庫(kù)附帶答案詳解
- 人口老齡化背景下居民養(yǎng)老金融資產(chǎn)配置影響因素研究
- 人教版初中英語單詞大全七八九年級(jí)(帶音標(biāo)) mp3聽力音頻下載
- 2024項(xiàng)目部安全管理人員安全培訓(xùn)考試題及參考答案(模擬題)
- 《習(xí)近平法治思想概論(第二版)》 課件 2. 第二章 習(xí)近平法治思想的理論意義
- 2025年中國(guó)文玩電商行業(yè)發(fā)展現(xiàn)狀調(diào)查、競(jìng)爭(zhēng)格局分析及未來前景預(yù)測(cè)報(bào)告
- 2024文旅古街元旦沉浸式體驗(yàn)國(guó)風(fēng)游園會(huì)(古巷十二時(shí)辰主題)活動(dòng)方案活動(dòng)-46正式版
- 英語-2025廣西柳州高三二模試卷和答案
- 天然飲用山泉水項(xiàng)目投資規(guī)劃建設(shè)方案
- 供方注冊(cè)指南-ZTE
- 2019年重慶市中考物理試卷(a卷)及答案
- 旅游感知形象研究綜述 論文
評(píng)論
0/150
提交評(píng)論