畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)

上傳人:1888****888 文檔編號(hào):35941169 上傳時(shí)間:2021-10-29 格式:DOC 頁數(shù):39 大?。?.71MB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)_第1頁
第1頁 / 共39頁
畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)_第2頁
第2頁 / 共39頁
畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)基于VC++開發(fā)工具的媒體播放器軟件設(shè)計(jì)與實(shí)現(xiàn)(39頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、-I-摘摘 要要目前常見的多媒體軟件應(yīng)該說各有特色,但是幾乎每一個(gè)都存在著不如人意的地方。我的課題是“基于 VC開發(fā)工具的媒體播放器軟件設(shè)計(jì)”,首先是初步介紹一些當(dāng)前的媒體及媒體播放器,然后是詳細(xì)介紹一個(gè)由本人設(shè)計(jì)的多媒體播放器cnplayer。該播放器是基于MFC 集成開發(fā)環(huán)境,利用系統(tǒng)的MCI(media controller interface)命令接口來編程,具有體積小,支持的播放格式多、系統(tǒng)資源占用少、支持播放列表編輯、支持各種視頻格式等功能優(yōu)勢(shì),還實(shí)現(xiàn)了CD 抓軌。關(guān)鍵詞:媒體播放器;關(guān)鍵詞:媒體播放器;MCI;MCI;播放列表;音頻;視頻播放列表;音頻;視頻-II-Abstrac

2、tThere are different characteristic among the normal multimedia player at present, but there are shortcoming for all of these software nearly. My center is A Software Of Media Player Designed by VC+ Program Language .Firstly, let me introduce those media formats and players at present, then there is

3、 a particular presentation for the media player that designed by myself-cnplayer. This player is based on MFC, referring to MCI(media controller interface) from system, having many good functions such as little size, supporting many kinds of format of media, taking up less system resource, supportin

4、g list control for playing item and catch track of CD.Key words: media player;MCI;play list;audio;video-III-目目 錄錄摘 要IABSTRACTII1 緒論11.1 課題研究的目的和技術(shù)發(fā)展的現(xiàn)狀 11.1.1 研究本課題的目的11.1.2 技術(shù)應(yīng)用的基本現(xiàn)狀11.2 論文完成的主要工作與課題研究的難點(diǎn)所在 21.2.1 論文完成的主要工作21.2.2 本課題的研究難點(diǎn) 22 媒體格式簡介 42.1 什么是媒體? 42.1.1 媒體 42.1.2 多媒體 52.2 淺議數(shù)字音、視頻格式 5

5、2.2.1 WAV 格式 52.2.2 MIDI 格式62.2.3 CD 格式62.2.4 MP3 格式 62.2.5 WAV 格式 62.2.6 MP4 格式 62.2.7 QuickTime 格式 72.2.8 DVD 格式 72.2.9 RealAudio 格式 72.2.10 AIFF 格式 82.2.11ASF 格式 82.3 常見播放器 82.3.1 Real Player 82.3.2 Windows Player92.3.3 Quick Time Player 93 MCI 命令接口編程103.1MCI 設(shè)備 103.2MCI 函數(shù)與命令 103.2.1MCI 命令 103.2

6、.2MCI 命令消息接口方式133.2.3MCI 命令字符串接口方式164 軟件需求分析 184.1 需求分析184.2 可行性研究18-IV-5.1.1基本界面設(shè)置195.1.2打開文件,添加列表195.1.3播放控制195.1.4對(duì)列表的控制205.1.5菜單設(shè)置205.2.2 打開文件,添加列表 215.2.3 播放控制 215.2.4 對(duì)列表控制 225.2.5 菜單設(shè)置226 軟件設(shè)計(jì)結(jié)果 246.1 主界面246.1 打開文件256.1 菜單控制267 軟件評(píng)價(jià) 277.1 軟件的特點(diǎn)277.1 軟件的不足27結(jié) 論 28參 考 文 獻(xiàn)29致 謝 30-1-1 緒論多媒體技術(shù)的概念

7、和應(yīng)用出現(xiàn)于 20 世紀(jì) 80 年代初期,經(jīng)過十余年的發(fā)展,隨著計(jì)算機(jī)科學(xué)網(wǎng)絡(luò)的普及和多媒體技術(shù)的發(fā)展,已成為計(jì)算機(jī)領(lǐng)域發(fā)展的熱點(diǎn)技術(shù),針對(duì)目前各種媒體格式,如何簡單方便的播放各類媒體已成為人們普遍關(guān)注的問題,而媒體播放器的開發(fā)也變得十分重要。1.1 課題研究的目的和技術(shù)發(fā)展的現(xiàn)狀1.1.1 研究本課題的目的隨著技術(shù)的發(fā)展,多媒體素材類型也增多,包括音頻、視頻、圖像、動(dòng)畫等,由于音視頻、圖像等的信息容量大,受硬件條件限制,以往多媒體應(yīng)用并不廣泛,隨著硬件技術(shù)的不斷提高,多媒體技術(shù)已為各類人員廣泛使用,開發(fā)多媒體課件、網(wǎng)絡(luò)課程、網(wǎng)站、應(yīng)用軟件、管理項(xiàng)目等均需利用多媒體素材,因此開發(fā)制作這一播放器

8、具有備現(xiàn)實(shí)意義,與其它多媒體播放器比較,這一多媒體播放器具有功能強(qiáng)大、占用空間小的特點(diǎn),它與現(xiàn)有多媒體資源應(yīng)用狀況緊密結(jié)合,既具有很強(qiáng)的直觀感,又不失一般性。1.1.2 技術(shù)應(yīng)用的基本現(xiàn)狀Microsoft 公司 1998 年推出了 Visual C+60,它是支持 Win32 平臺(tái)應(yīng)用程序(application)、服務(wù)(service)和控件(control)開發(fā)的可視化編程的集成環(huán)境。與 VC+50 的最大不同之處是它的幫助功能更強(qiáng)大,MSDN(Microsoft Developer Networking)為包括 VC+60 在內(nèi)的所有微軟的程序產(chǎn)品提供在線幫助;另外,類的對(duì)象的可用成員

9、函數(shù)、成員變量及函數(shù)的參數(shù)類型與個(gè)數(shù)都能動(dòng)態(tài)顯示在屏幕上,用戶無須記住那些復(fù)雜而又枯燥乏味的函數(shù)名及復(fù)雜的參數(shù),這無疑使得用 VC+編程更加容易。所以 VC60 可謂是 Microsoft 公司的王牌產(chǎn)品,編程功能強(qiáng)大而贏得廣大程序的偏愛。多媒體技術(shù)已經(jīng)在如下若干方面開展了有效的應(yīng)用:多媒體管理信息系統(tǒng)、展示系統(tǒng);多媒體電子出版物(Title);計(jì)算機(jī)輔助教學(xué)、教育培訓(xùn);計(jì)算機(jī)藝術(shù)制作、設(shè)計(jì);計(jì)算機(jī)娛樂游戲、雙向電影;協(xié)同工作。有發(fā)-2-下三大發(fā)展趨勢(shì):進(jìn)一步完善計(jì)算機(jī)支持的協(xié)同工作環(huán)境;智能多媒體技術(shù);把多媒體信息實(shí)時(shí)處理和壓縮編碼算法集成到 CPU 中。1.2 論文完成的主要工作與課題研究

10、的難點(diǎn)所在針對(duì)如上所述的研究方向,本課題“基于 VC開發(fā)工具的媒體播放器軟件設(shè)計(jì)”的主要任務(wù)是深入理解各種媒體格式,開發(fā)出適用的播放器軟件。因此應(yīng)解決的主要問題是如何把你了解的多媒體和 VC 知識(shí)應(yīng)用到實(shí)際編程當(dāng)中去及編制的應(yīng)用軟件的可用性、易用性、健壯性。1.2.1 論文完成的主要工作根據(jù)學(xué)習(xí)研究,本媒體播放器的開發(fā)基于 VCMFC 的對(duì)話框,利用Windows MCI(Media Control Interface)控件和 VC60 自帶的 ActiveX 控件ActiveMovieControl Object 來實(shí)現(xiàn)各類媒體格式的播放及程序界面處理。首先確定要解決的問題是弄清楚 MCI

11、函數(shù)與命令消息的名稱類型和功能;其次是通過分析媒體播放的具體過程,在打開媒體設(shè)備的過程中應(yīng)用程序需要做哪些事情,以便在應(yīng)用程序中加入對(duì)這些過程支持的代碼;在對(duì)應(yīng)用程序的流程有了大致的輪廓以后(最好畫出流程圖) ,在開始考慮程序框架的設(shè)計(jì),應(yīng)用程序外觀的設(shè)計(jì);最后也是最關(guān)鍵的就是編寫實(shí)現(xiàn)播放媒體的代碼將播放器的基本功能實(shí)現(xiàn),緊接著就是程序的調(diào)試和完善。1.2.2 本課題的研究難點(diǎn)本課題的難點(diǎn)如下:1、對(duì)于 VC集成開發(fā)工具的熟練使用,特別是 MFC 的使用,重點(diǎn)放在界面設(shè)計(jì);2、各類媒體設(shè)備的播放函數(shù)及相應(yīng)的命令;3、播放列表的生成及其操作(刪除而不影響其他文件的播放等) ;4、CD 音軌的抓并

12、轉(zhuǎn)換格式。-3-以上各點(diǎn)構(gòu)成了本軟件的難點(diǎn),在克難過程中,我的分析問題解決問題的能力有了很大的進(jìn)步,經(jīng)過努力,一個(gè)占用空間小、簡單實(shí)用的小型媒體播放器終于完成了。我開發(fā)的媒體播放器支持所有 media player 支持的媒體格式的播放及其他 AVI 視頻的播放,實(shí)現(xiàn)了對(duì)播放列表的控制,CD 抓軌等功能。-4-2 媒體格式簡介2.1 什么是媒體?2.1.1 媒體一般來說,媒體(medium,復(fù)數(shù)形式為 media)是一種信息發(fā)布和表現(xiàn)的方法,如正文、圖形、語音、音樂等,可按不同的標(biāo)準(zhǔn)分類。CCITT 將媒體定義為以下五種:感覺媒體(Perception medium):能直接作用于人的感官,使

13、人產(chǎn)生感覺的媒體。如語言、音樂、圖形、活動(dòng)圖像、文本等。我們所講的“多媒體”意義上的媒體,主要是指這一類媒體。感知媒體幫助人們來感知環(huán)境。要解決的問題是:人在計(jì)算機(jī)環(huán)境中如何感知信息?就目前而言,人類主要靠視覺和聽覺來感知環(huán)境的信息,觸覺作為一種感知方式也慢慢引入到計(jì)算機(jī)系統(tǒng)中。表示媒體(Representation medium):為傳輸感覺而研究出來的中間手段,以便更有效地將感覺從一地傳往另一地。表示媒體的特征用計(jì)算機(jī)內(nèi)部表示來刻畫。要解決的主要問題是:計(jì)算機(jī)信息如何編碼?例子有:文本字符用 ASC或 EBCDIC 碼表示。圖像可以用 JPEG 格式 BMP 格式編碼。組合音頻/視頻序列可

14、以用不同的 TV 標(biāo)準(zhǔn)格式(PAL、SECAM 等)編碼。表現(xiàn)媒體(Perception medium):用于信息傳輸中電信號(hào)和感覺媒體之間轉(zhuǎn)換所用的媒體,意指信息輸入/輸出的工具和設(shè)備。要解決的問題是:信息通過何種媒體輸入到計(jì)算機(jī)中或從計(jì)算機(jī)中輸出?輸出媒體的例子有屏幕、紙和喇叭,而輸入媒體的例子有鍵盤、鼠標(biāo)、攝像機(jī)和麥克風(fēng)等。存儲(chǔ)媒體(Storage medium):用于存儲(chǔ)表示媒體的載體。數(shù)據(jù)存儲(chǔ)并不局限于計(jì)算機(jī)的部件,因此,紙也是一種存儲(chǔ)媒體。要解決的問題是:信息存儲(chǔ)在什么地方?存儲(chǔ)媒體的例子有:縮微膠片、磁盤等。傳輸媒體(Transmission medium):用來將表示媒體從一地

15、傳輸?shù)搅硪坏氐?5-物理實(shí)體。要解決的問題是,在什么上面?zhèn)鬏斝畔??目前主要使用網(wǎng)絡(luò)來進(jìn)行信息傳輸,網(wǎng)絡(luò)介質(zhì)有同軸電纜、光纖等,無線方式進(jìn)行通信正變得越來越廣泛。2.1.2 多媒體從字面上看,所謂多媒體 multimedia,就是多種媒體的綜合,多媒體處理技術(shù)涉及到以上五種媒體形式。但這樣的理解沒有接觸到多媒體概念的特定的內(nèi)涵,是遠(yuǎn)遠(yuǎn)不夠的。為了辨析多媒體的含義,我們給出兩個(gè)多媒體定義進(jìn)行比較: 多媒體是指這樣的一個(gè)計(jì)算機(jī)系統(tǒng):交互式綜合處理多種媒體信息文本、圖形、圖像和聲音等,使多種信息建立邏輯連接,集成為一個(gè)具有交互性的系統(tǒng)。(Lippincatt ,Byte 1990 年) 多媒體是下面兩

16、種以上媒體組成的結(jié)合體:文本、圖形、動(dòng)畫、圖像、視頻、聲音等。(IBM ,multimedia Foundation,1990 年) 顯然,定義是有問題的,因?yàn)榘催@個(gè)定義,電視節(jié)目就可以看作是多媒體。這是因?yàn)?,這個(gè)定義沒有體現(xiàn)出多媒體計(jì)算機(jī)技術(shù)的關(guān)鍵特性。定義較好地體現(xiàn)了這一點(diǎn):即多媒體的含義除多種媒體外,還包括集成性和交互性兩個(gè)重要的特性。2.2 淺議數(shù)字音、視頻格式首先,我們來明確一下數(shù)字音、視頻的概念,它是指一個(gè)用來表示聲音強(qiáng)弱的數(shù)據(jù)序列,由模擬聲音經(jīng)抽樣、量化和編碼后得到的。簡單地說,數(shù)字音、視頻的編碼方式就是數(shù)字音、視頻格式,我們所使用的不同的數(shù)字音、視頻設(shè)備一般都對(duì)應(yīng)著不同的音頻文

17、件格式。常見的數(shù)字音、視頻格式有:2.2.1 WAV 格式WAV 格式是微軟公司開發(fā)的一種聲音文件格式,也叫波形聲音文件,是最早的數(shù)字音、視頻格式,被 Windows 平臺(tái)及其應(yīng)用程序廣泛支持。WAV 格式支持許多壓縮算法,支持多種音頻位數(shù)、采樣頻率和聲道,采用 44.1kHz 的采樣-6-頻率,16 位量化位數(shù),因此 WAV 的音質(zhì)與 CD 相差無幾,但 WAV 格式對(duì)存儲(chǔ)空間需求太大不便于交流和傳播。2.2.2 MIDI 格式MIDI 是 Musical Instrument Digital Interface 的縮寫,又稱作樂器數(shù)字接口,是數(shù)字音樂/電子合成樂器的統(tǒng)一國際標(biāo)準(zhǔn)。它定義了計(jì)

18、算機(jī)音樂程序、數(shù)字合成器及其它電子設(shè)備交換音樂信號(hào)的方式,規(guī)定了不同廠家的電子樂器與計(jì)算機(jī)連接的電纜和硬件及設(shè)備間數(shù)據(jù)傳輸?shù)膮f(xié)議,可以模擬多種樂器的聲音。MIDI 文件就是 MIDI 格式的文件,在 MIDI 文件中存儲(chǔ)的是一些指令。把這些指令發(fā)送給聲卡,由聲卡按照指令將聲音合成出來。2.2.3 CD 格式大家都很熟悉 CD 這種音樂格式了,擴(kuò)展名 CDA,其取樣頻率為44.1kHz,16 位量化位數(shù)。CD 存儲(chǔ)采用了音軌的形式,又叫“紅皮書”格式,記錄的是波形流,是一種近似無損的格式。2.2.4 MP3 格式MP3 全稱是 MPEG-1 Audio Layer 3,它在 1992 年合并至

19、MPEG 規(guī)范中。MP3能夠以高音質(zhì)、低采樣率對(duì)數(shù)字音、視頻文件進(jìn)行壓縮。換句話說,音頻文件(主要是大型文件,比如 WAV 文件)能夠在音質(zhì)丟失很小的情況下(人耳根本無法察覺這種音質(zhì)損失)把文件壓縮到更小的程度。2.2.5 WAV 格式WMA (Windows Media Audio)是微軟在互聯(lián)網(wǎng)音頻、視頻領(lǐng)域的力作。WMA格式是以減少數(shù)據(jù)流量但保持音質(zhì)的方法來達(dá)到更高的壓縮率目的,其壓縮率一般可以達(dá)到 1:18。此外,WMA 還可以通過 DRM(Digital Rights Management)方案加入防止拷貝,或者加入限制播放時(shí)間和播放次數(shù),甚至是播放機(jī)器的限制,可有力地防止盜版。2.

20、2.6 MP4 格式MP4 采用的是美國電話電報(bào)公司(AT&T)所研發(fā)的以“知覺編碼”為關(guān)鍵-7-技術(shù)的 a2b 音樂壓縮技術(shù),由美國網(wǎng)絡(luò)技術(shù)公司(GMO)及 RIAA 聯(lián)合公布的一種新的音樂格式。MP4 在文件中采用了保護(hù)版權(quán)的編碼技術(shù),只有特定的用戶才可以播放,有效地保證了音樂版權(quán)的合法性。另外 MP4 的壓縮比達(dá)到了 1:15,體積較 MP3 更小,但音質(zhì)卻沒有下降。不過因?yàn)橹挥刑囟ǖ挠脩舨拍懿シ胚@種文件,因此其流傳與 MP3 相比差距甚遠(yuǎn)。2.2.7 QuickTime 格式QuickTime 是蘋果公司于 1991 年推出的一種數(shù)字流媒體,它面向視頻編輯、Web 網(wǎng)站創(chuàng)建和媒體技術(shù)平

21、臺(tái),QuickTime 支持幾乎所有主流的個(gè)人計(jì)算平臺(tái),可以通過互聯(lián)網(wǎng)提供實(shí)時(shí)的數(shù)字化信息流、工作流與文件回放功能。Apple 公司的 Quick Time 電影文件現(xiàn)已成為數(shù)字媒體領(lǐng)域的工業(yè)標(biāo)準(zhǔn)。Quick Time 電影文件格式定義了存儲(chǔ)數(shù)字媒體內(nèi)容的標(biāo)準(zhǔn)方法,使用這種文件格式不僅可以存儲(chǔ)單個(gè)的媒體內(nèi)容(如視頻幀或音頻采樣),而且能保存對(duì)該媒體作品的完整描述;Quick Time 文件格式被設(shè)計(jì) 用來適應(yīng)為數(shù)字化媒體一同工作需要存儲(chǔ)的各種數(shù)據(jù)。因?yàn)檫@種文件格式能用來描述幾乎所有的媒體結(jié)構(gòu),所以它是應(yīng)用程序間(不管運(yùn)行平臺(tái)如何)交換數(shù)據(jù)的理想格式。Quick Time 文件格式中媒體描述和媒

22、體數(shù)據(jù)是分開存儲(chǔ)的,媒體描述或元數(shù)據(jù)(Meta-Data)叫做電影(Movie),包含軌道數(shù)目、視頻壓縮格式和時(shí)間信息。同時(shí) Movie 包含媒體數(shù)據(jù)存儲(chǔ)區(qū)域的索引。媒體數(shù)據(jù)是所有的采樣數(shù)據(jù),如視頻幀和音頻采樣,媒體數(shù)據(jù)可以與 Quick Time Movie 存儲(chǔ)在同一個(gè)文件中,也可以存儲(chǔ)在一個(gè)單獨(dú)的文件或者在幾個(gè)文件中。2.2.8 DVD 格式DVD Audio 是新一代的數(shù)字音、視頻格式,與 DVD Video 尺寸以及容量相同,為音樂格式的 DVD 光碟,取樣頻率為“48kHz/96kHz/192kHz”和“44.1kHz/88.2kHz/176.4kHz”可選擇,量化位數(shù)可以為 16

23、、20 或 24 比特,它們之間可自由地進(jìn)行組合。低采樣率的 192kHz、176.4kHz 雖然是 2 聲道重播專用,但它最多可收錄到 6 聲道。而以 2 聲道 192kHz/24b 或 6 聲道 96kHz/24b收錄聲音,可容納 74 分鐘以上的錄音,動(dòng)態(tài)范圍達(dá) 144dB,整體效果出類拔萃。-8-2.2.9 RealAudio 格式RealAudio 是由 Real Networks 公司推出的一種文件格式,最大的特點(diǎn)就是可以實(shí)時(shí)傳輸音頻信息,尤其是在網(wǎng)速較慢的情況下,仍然可以較為流暢地傳送數(shù)據(jù),因此 RealAudio 主要適用于網(wǎng)絡(luò)上的在線播放。現(xiàn)在的 RealAudio文件格式主

24、要有 RA(RealAudio)、RM(Real Media,RealAudio G2) 、RMX(RealAudio Secured)等三種,這些文件的共同性在于隨著網(wǎng)絡(luò)帶寬的不同而改變聲音的質(zhì)量,在保證大多數(shù)人聽到流暢聲音的前提下,令帶寬較寬敞的聽眾獲得較好的音質(zhì)。2.2.10 AIFF 格式AIFF(.AIF) 是蘋果公司開發(fā)的聲音文件格式,被 Macintosh 平臺(tái)和應(yīng)用程序所支持。2.2.11ASF 格式Microsoft 公司的 Windows Media 的核心是 ASF(Advanced Stream Format)。微軟將 ASF 定義為 同步媒體的統(tǒng)一容器文件格式。ASF

25、 是一種數(shù)據(jù)格式,音頻、視頻、圖像以及控制命令腳本 等多媒體信息通過這種格式以網(wǎng)絡(luò)數(shù)據(jù)包的形式傳輸,實(shí)現(xiàn)流式多媒體內(nèi)容發(fā)布。ASF 的最大優(yōu)點(diǎn)是體積小,適合網(wǎng)絡(luò)傳輸,用戶可以將圖形、聲音和動(dòng)畫數(shù)據(jù)組合成一個(gè) ASF 格式的文件,不僅可以將其他格式的視頻和音頻轉(zhuǎn)換為 ASF 格式,而且用戶還可以通過聲卡和視頻捕獲卡將諸如傳聲器、錄像機(jī)等外設(shè)的數(shù)據(jù)保存為 ASF 格式。另外,ASF 格式 的視頻中可以帶有命令代碼,用戶指定在到達(dá)視頻或音頻的某個(gè)時(shí)間后觸發(fā)某個(gè)事件或操作 。數(shù)字音、視頻給我們的生活帶來了前所未有的變化。它以音質(zhì)優(yōu)秀、傳播無損耗、可進(jìn)行多種編輯和轉(zhuǎn)換而成為主流,并且應(yīng)用于各個(gè)方面。例如

26、我們常使用到的音響設(shè)備、IP 電話、衛(wèi)星電話、數(shù)字衛(wèi)星電視以及專業(yè)錄音、制作等。展望未來,數(shù)字音、視頻將會(huì)應(yīng)用于更多的領(lǐng)域,而且會(huì)擁有更清晰、更真實(shí)的音質(zhì)、更小巧的體積和更方便的傳輸和轉(zhuǎn)換功能。2.3 常見播放器-9-2.3.1 Real PlayerRealNetworks 推出的 Real Player 是目前最受歡迎的網(wǎng)絡(luò)流媒體播放器,它幾乎支持所有的媒體文件格式。除了 RealNetworks 自己推出的流媒體格式ram、rmm、ra、rm、rp、rt 外,還支持SMIL、SWF、MP3、WMA、AVI、MPEG、JPEG、GIF 及 PNG 等格式,但不支持 Quick Time 的

27、文件格式。Real One Player 是 RealNetworks 公司最新推出的一種新型音-視頻綜合播放系統(tǒng),以取代該公司現(xiàn)有的 3 種主打產(chǎn)品,即 Real Player、Real Jukebox 和 Gold Pass。Real One Player 的一大特點(diǎn)是多層畫面功能,即當(dāng)一個(gè)屏幕播放影碟或歌曲的時(shí)候,旁邊有一個(gè)側(cè)屏幕提 供有關(guān)影碟或歌曲的信息或廣告,可以將豐富多彩的 Web 頁面、生動(dòng)傳神的畫面及聲音、相關(guān)背景的文字整合在同一個(gè)畫面上,使用戶得到一個(gè)完整的聲、視、訊信息。2.3.2 Windows PlayerWindows Media Player 是一個(gè)基于 Direc

28、t Show 體系結(jié)構(gòu)的多媒體播放器。微軟借助自己在操作系統(tǒng)上的優(yōu)勢(shì),將其作為操作系統(tǒng)默認(rèn)的媒體播放器,目前最新的版本是 11.0。它幾乎支持 Windows 下的所有媒體文件格式,包括 CD音 頻曲目文件、ASF 、MPEG-1、MPEG-2、WAV、AVI、MIDI、VOD、AU、MP3 等,同時(shí)可以播放 Quick Time 文件。2.3.3 Quick Time PlayerQuick Time Player 是 Apple 公司的媒體播放器,現(xiàn)已推出了 Quick Time 7.0 版,還有 Windo ws 版和 Mac 版,其特點(diǎn)是和 Internet 緊密結(jié)合,安裝是在網(wǎng)上進(jìn)行

29、的。Quick Time Player 能夠直接播放的格式有 Quick Time 電影、AVI、AIFF 音頻、SGI 圖像、Macromedia Flash 等。此外,Quick Time Player還能夠輸入各種格式的音頻、視頻和圖像媒體文件,并能轉(zhuǎn)換輸出為其他格式。Quick Time Player 還支持基于 HTTP、RTP、RTSP、FTP 流格式的在線音頻和視-10-頻。3 MCI 命令接口編程Windows MCI(media control interface)是控制多媒體設(shè)備的高層、通用的命令接口。MCI 可控制所有 Windows 能驅(qū)動(dòng)的多媒體設(shè)備,包括 CD 音頻

30、(CDAudio) 、數(shù)字視頻、動(dòng)畫、數(shù)字化波形聲音、MIDI 音序器、錄像機(jī)及影碟機(jī)等。MCI 包含在 Windows 系統(tǒng)的 MMSYSTEM.DLL 動(dòng)態(tài)鏈接庫中,有以協(xié)調(diào)多媒體事件和 MCI 設(shè)備驅(qū)動(dòng)程序之間的通信。一些 MCI 設(shè)備驅(qū)動(dòng)程序,如影碟機(jī)設(shè)備驅(qū)動(dòng)程序,可以直接控制目標(biāo)設(shè)備;而另外一些 MCI 設(shè)備驅(qū)動(dòng)程序,如 Wave和 MIDI 設(shè)備驅(qū)動(dòng)程序,可通過 MMSYSTEM 中的函數(shù),間接控制目標(biāo)設(shè)備;還有一些 MCI 設(shè)備驅(qū)動(dòng)程序則提供與其他 Windows 動(dòng)態(tài)鏈接庫連接的高層接口。3.1MCI 設(shè)備使用 MCI 的應(yīng)用程序通過指定 MCI 的設(shè)備來區(qū)分 MCI 設(shè)備,設(shè)

31、備類型說明了設(shè)備的物理類型。表 1 表出了可能用到的 MCI 設(shè)備類型。表 3-1MCI 設(shè)備類型MCI設(shè)備說明Cdaudio激光唱機(jī)-11-Waveaudio數(shù)字化波形聲音設(shè)備SequencerMIDI音序器Overlay視頻疊加設(shè)備(窗口中的模擬視頻)Dat數(shù)字化磁帶音頻播放機(jī)Digitalvideo窗口中的數(shù)字視頻Scanner圖像掃描儀Vcr磁帶錄像機(jī)或播放機(jī)Videldisc影碟機(jī)Mmmovie多媒體影片播放器Other示定義的MCI設(shè)備3.2MCI 函數(shù)與命令Microsoft 提供的 MMSYSTEM.H 文件中定義了調(diào)用了 MCI 功能的數(shù)據(jù)類型和函數(shù)原型,在使用 MCI 功能

32、的任何源模塊中都應(yīng)包含該文件。3.2.1MCI 命令應(yīng)用程序能過 MCI 設(shè)備發(fā)送命令(命令消息或命令字符串)來控制 MCI 設(shè)備,MCI 命令可以分為 4 類,如下所術(shù)。1)系統(tǒng)命令:直接由 MCI 解釋并由系統(tǒng)處理,是不傳送到 MCI 設(shè)備的命令。2)通用命令:所有 MCI 設(shè)備都支持的 MCI 命令。3)可選命令:MCI 設(shè)備可選擇使用的 MCI 命令。4)專用命令:針對(duì)某類 MCI 設(shè)備或集合的專有 MCI 命令。MCI 定義了兩種接口方式,即命令消息方式和命令字符串方式。相應(yīng)地,MCI 命令可分為命令消息和命令字符串。主要的 MCI 命令及分類如表 2 所示,這些命令可能具有其相應(yīng)的

33、擴(kuò)展形式。表 3-2 MCI 命令列表MCI命令消息MCI命令字符串MCI命令說明MCI命令類型MCI_SYSINFOSYSINFO返回有關(guān)MCI設(shè)備的停息為一個(gè)指定的系-12-MCI_BREAKBREAKMCI設(shè)備設(shè)置一個(gè)終止鍵MCI_SOUNDSOUND播放一段Windows指定的系統(tǒng)聲音統(tǒng)命令MCI_CLOSECLOSE關(guān)閉一個(gè)MCI設(shè)備MCI_GETDEVCAPSGETDEVCAPS獲得一個(gè)MCI設(shè)備的性能參數(shù)MCI_INFOINFO從一個(gè)MCI設(shè)備得到有關(guān)的信息MCI_OPENOPEN初始化一個(gè)MCI設(shè)備MCI_STATUSSTATUS從一個(gè)MCI設(shè)備返回有關(guān)的狀態(tài)信息通用命令MCI

34、_LOADLOAD從一個(gè)磁盤文件中加載數(shù)據(jù)MCI_PAUSEPAUSE暫停播放數(shù)據(jù)MCI_PLAYPLAY開始播放數(shù)據(jù)MCI_RECORDRECORD開始記錄數(shù)據(jù)MCI_RESUMERESUME重新開始播放或記錄MCI_SAVESAVE將數(shù)據(jù)存儲(chǔ)到磁盤文件中MCI_SEEKSEEK向前或向后檢索MCI_SETSET設(shè)置設(shè)備信息MCI_STOPSTOP停止播放或記錄可選命令MCI 命令都可以帶兩個(gè)標(biāo)志命令來控制命令的方式,即“wait”和-13-“notify” 。它們?cè)诿钕⒑兔钭址涌诘男问胶鸵馑既绫?3 所示。表 3-3MCI 標(biāo)志命令命令消息命令字符串功 能MCI_WAITwait

35、通知MCI設(shè)備等,MCI命令執(zhí)行完后,才能將控制權(quán)還給應(yīng)用程序MCI_NOTIFYnotify通知MCI設(shè)備等,立刻將控制權(quán)交給應(yīng)用程序,但當(dāng)命令執(zhí)行完后,向應(yīng)用程序發(fā)送MM_MCINOTIFY消息所有 MCI 函數(shù)都以 mci 為前綴。對(duì)應(yīng)于 MCI 命令消息和命令字符串接口方式,MCI 函數(shù)也分為兩類,即命令消息函數(shù)和命令字符串函數(shù)。在 MMSYSTEM.H中定義了這些函數(shù)的原型。MCI 函數(shù)如表 4 所示。表 3-4MCI 函數(shù)函數(shù)名功 能類型mciSendCommand發(fā)送命令消息mciGetDeviceID獲取MCI設(shè)備的IDmciSetYieldProc設(shè)定一個(gè)回調(diào)函數(shù),在結(jié)束帶w

36、ait標(biāo)志的命令時(shí)調(diào)用mciGetYieldProc獲取當(dāng)前的回調(diào)函數(shù)命令消息接口函數(shù)mciSendString發(fā)送命令字符串命令字符串接口函數(shù)mciGetErrorString獲取當(dāng)前MCI錯(cuò)誤的字符串描述公用函數(shù)3.2.2MCI 命令消息接口方式MCI 命令消息接口方式利用消息和數(shù)據(jù)結(jié)構(gòu)來給多媒體設(shè)備發(fā)送命令和接收 MCI 設(shè)備傳來的信息。這種方式的接口函數(shù)主要有 3 個(gè),即 mciSendCommand,mciGetDeviceID 和 mciGetErrorString。它們的函數(shù)原型如下:MCIERROR mciSendCommand ( MCIDEVICEID IDDevice,

37、/設(shè)備 ID UINT uMsg, /命令消息-14- DWORD fdwCommand, /命令消息標(biāo)志 DWORD dwParam /命令消息使用的結(jié)構(gòu)參數(shù)地址);MCIDEVICEID mciGetDeviceID ( LPCTSTR lpszDevice /設(shè)備類型);BOOL ( DWORD fdwError, /錯(cuò)誤代碼 LPTSTR lpszErrorText, /錯(cuò)誤描述 UINT cchErrorText /錯(cuò)誤描述長度);mciGetDeviceID 通過傳送 MCI 設(shè)備名 lpszDevice 來獲取 MCI_OPEN 命令消息找開 MCI 設(shè)備的標(biāo)識(shí)號(hào) wDevice

38、ID,其值可用于 mciSendCommand 的參數(shù)wDeviceID。mciSendCommand 用于向標(biāo)識(shí)號(hào)為 wDeviceID 的 MCI 設(shè)備發(fā)送命令消息uMsg。當(dāng)用送 MCI_OPEN 命令消息打開一個(gè)設(shè)備時(shí),將自動(dòng)創(chuàng)建一個(gè)設(shè)備標(biāo)識(shí)號(hào)。如果設(shè)備打開成功,可以從 MCI_OPEN_PARMS 結(jié)構(gòu)的 wDeviceID 數(shù)據(jù)域中取得該設(shè)備的標(biāo)識(shí)號(hào),該值將保存以供后續(xù)的 MCI 命令使用。如果 mciSendCommand 調(diào)用成功,則返回值為 0;否則表示設(shè)備驅(qū)動(dòng)出錯(cuò),這時(shí)可用 mciGetErrorString 來取得錯(cuò)誤信息的文字描述。MCI 提供一個(gè)名為 MCI_ALL_

39、DEVICE_ID 的特殊設(shè)備標(biāo)識(shí)號(hào)。當(dāng)前所有已打開的 MCI 設(shè)備都將接收到對(duì) MCI_ALL_DEVICE_ID 發(fā)送的任何 MCI 命令。使用任何一個(gè) MCI 設(shè)備前都應(yīng)先用 MCI_OPEN 打開它。打開 MCI 設(shè)備時(shí),要求指定相應(yīng)的 MCI_OPEN_PARMS 結(jié)構(gòu)。-15-如果打開設(shè)備成功,則該結(jié)構(gòu)的 wDeviceID 域返回 MCI 設(shè)備的標(biāo)識(shí)號(hào) ID。使用 MCI_OPEN 命令消息時(shí)可使用的命令消息中表 5 所示。MCI_OPEN_PARMS結(jié)構(gòu)定義如下:typedef struct DWORD dwCallback; /回調(diào)窗口句柄 MCIDEVICEID wDevi

40、ceID; /設(shè)備打開成功,返回的設(shè)備號(hào) LPCSTR lpstrDeviceType; /設(shè)備類型 LPCSTR lpstrElementName; /復(fù)合設(shè)備的設(shè)備元素,通常為文件名 LPCSTR lpstrAlias; /指定的設(shè)備別名 MCI_OPEN_PARMS;表 3-5MCI_OPEN 命令消息標(biāo)志消息標(biāo)志意 義MC_OPEN_ALIASMCI_OPEN_PARMS結(jié)構(gòu)的lpstrAlias域中指定了設(shè)備別名MC_OPEN_ELEMENTMCI_OPEN_PARMS結(jié)構(gòu)的lpstrElementName域中指定了設(shè)備元素MC_OPEN_SHAREABE按共享設(shè)備方式打開設(shè)備MC_

41、OPEN_TYPEMCI_OPEN_PARMS結(jié)構(gòu)的lpstrDeviceType域中指定了設(shè)備類型MC_OPEN_TYPE_IDMCI_OPEN_PARMS結(jié)構(gòu)的lpstrDeviceType域中指定了設(shè)備類型ID打開一個(gè)簡單的 MCI 設(shè)備不需要指定設(shè)備元素,即不需要指定一個(gè)數(shù)據(jù)文件,所以可以僅僅指定 MCI_OPEN_PARMS 結(jié)構(gòu)中的 wDeviceID 和lpstrDeviceType 兩個(gè)數(shù)據(jù)域。要打開一個(gè)復(fù)合的 MCI 設(shè)備,必須指定設(shè)備元素?cái)?shù)據(jù)域 lpstrElementName 和設(shè)備類型數(shù)據(jù)域 lpstrDeviceType。對(duì)于打開復(fù)合 MCI 設(shè)備,有以下 3 種方式

42、可供選擇:1) 為確定 MCI 設(shè)備的性能,可以只指定設(shè)備的類型來打開 MCI 設(shè)備。這-16-時(shí),只允許確定 MCI 設(shè)備的性能,然后關(guān)閉設(shè)備,不般不能進(jìn)行其它的操作。2) 為使一個(gè)設(shè)備元素與指定設(shè)備相聯(lián)系,應(yīng)同時(shí)指定設(shè)備元素(數(shù)據(jù)文件名)和設(shè)備類型。這時(shí)可對(duì)設(shè)備進(jìn)行相應(yīng)的各種操作。3) 在使用隱含的 MCI 設(shè)備時(shí),可只指定 MCI 設(shè)備(數(shù)據(jù)文件名) ,而把設(shè)備類型指定為 NULL;MCI 將根據(jù)設(shè)備元素的擴(kuò)展名從系統(tǒng)定義中選擇隱含約定的 MCI 設(shè)備。應(yīng)用程序在使用完一個(gè) MCI 設(shè)備后應(yīng)明確地關(guān)閉該 MCI 設(shè)備。MCI_CLOSE命令消息用于關(guān)閉并釋放 MCI 設(shè)備,即取消應(yīng)用程序

43、對(duì) MCI 設(shè)備或設(shè)備元素的訪問權(quán)。當(dāng)用 MCI_SYSINFO 命令消息獲取 MCI 設(shè)備系統(tǒng)信息時(shí),需要在mciSendCommand 的 dwParam 參數(shù)中指定 MCI_SYSINFO_PARMS 結(jié)構(gòu)的地址,系統(tǒng)信息將通過該結(jié)構(gòu)返回。與 MCI_SYSINFO 命令消息相關(guān)的消息標(biāo)志如表 6 所示。MCI_SYSINFO_PARMS 結(jié)構(gòu)定義如下:typedef struct DWORD dwCallback;/回調(diào)窗口句柄 LPSTR lpstrReturn; /返回信息緩沖區(qū)地址 DWORD dwRetSize; /返回信息大小 DWORD dwNumber; /索引號(hào) UIN

44、T wDeviceType; /設(shè)備類型 MCI_SYSINFO_PARMS;表 3-6MCI_SYSINFO 命令消息標(biāo)志消息標(biāo)志意 義-17-MCI_SYSINFO_QUANTITY返回指定的設(shè)備類型的數(shù)目,如與MCI_SYSINFO_OPEN一起使用,則僅返回已打開的設(shè)備的數(shù)目MCI_SYSINFO_NAME返回設(shè)備名,如與MCI_SYSINFO_OPEN一起使用,則僅返回已打開的設(shè)備的名稱MCI_SYSINFO_OPEN僅返回已打開設(shè)備的信息MCI_SYSINFO_INSTALLNAME指定設(shè)備的安裝名稱在使用 MCI 設(shè)備時(shí),還應(yīng)注意共享、等待與通告等標(biāo)志的使用。3.2.3MCI 命

45、令字符串接口方式MCI 命令字符串使用 ASCII 字符串來發(fā)送驅(qū)動(dòng) MCI 設(shè)備的命令,這種方式采用的接口函數(shù)有 mciSendString、mciGetErrorString。mciSendString用于向 MCI 設(shè)備發(fā)送命令字符串,其函數(shù)原型如下:MCIERROR mciSendString( LPCTSTR lpszCommand, /指向一個(gè)以 NULL 結(jié)尾的 MCI 命令字符串,格/式如下:comm.and device_name argument LPTSTR lpszReturnString, /指向一個(gè)用于存儲(chǔ) MCI 命令執(zhí)行后返回的/字符串信息的緩沖區(qū) UINT c

46、chReturn, /緩沖區(qū)大小 HANDLE hwndCallback /指定一個(gè)接受 MM_MCINOTIFY 的窗口句柄,/非 MCI 命令中包含了 notify 標(biāo)志,否則該參數(shù)可忽略。);-18-4 軟件需求分析4.1 需求分析隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)的普及,多媒體素材類型越來越多,包括音頻、視頻、圖像、動(dòng)畫等,由于音視頻、圖像等的信息容量大,受硬件條件限制,以往多媒體應(yīng)用并不廣泛,隨著硬件技術(shù)的不斷提高,多媒體技術(shù)已為各類人員廣泛使用,開發(fā)多媒體課件、網(wǎng)絡(luò)課程、網(wǎng)站、應(yīng)用軟件、管理項(xiàng)目等均需利用多媒體素材。本軟件是為滿足部分人的瀏覽需求而開發(fā)的,能打開多種媒體格式,小巧簡單,此外

47、,為了方便使用,還具有對(duì)播放列表進(jìn)行操作的功能,因此開發(fā)制作這一播放器具有備現(xiàn)實(shí)意義。4.2 可行性研究要開發(fā)一個(gè)軟件程序,其方案十分重要。一個(gè)合理可行的方案有助于減少-19-程序員的工作量、縮短開發(fā)周期,更重要的是可以開發(fā)出運(yùn)行效率更高、可移植性更好、健壯性更強(qiáng)的代碼。以下是本程序的方案論證:本程序的開發(fā)用的是 VC+的 MFC 集成開發(fā)環(huán)境,開發(fā)本程序的方案大概有如下二種:1、利用 VC 開發(fā)環(huán)境提供的 ActiveX 控件ActiveMovieControl Object2、利用系統(tǒng)自帶的 MCI 命令接口來編程。(1)第一種方法是使用 ActiveX 控件,MFC 可以利用“Activ

48、eMovieControl Object”控件直接操作,實(shí)現(xiàn)起來非常簡單,但用到的是完全別人的東西,故而不是太好。(2)第二種方法是使用系統(tǒng)自帶的 MCI 命令接口。MCI 包含在系統(tǒng)的MMSYSTEM.H 文件中,參數(shù)較多,功能比較齊全,雖然使用起來比較煩瑣,但是更具有開發(fā)意義。綜上所述,使用系統(tǒng)自帶的 MCI 命令接口來編程的方法是比較理想的選擇。以下的開發(fā)設(shè)計(jì)流程就是基于第二種方案的設(shè)計(jì)流程。5 軟件開發(fā)與設(shè)計(jì)5.1 程序設(shè)計(jì)的基本思想最初運(yùn)用 MFC,建立對(duì)話框?yàn)榛究蚣堋R驗(yàn)楸拒浖且韵到y(tǒng)自帶的 MCI命令接口為基礎(chǔ),所以為豐富本軟件,將重點(diǎn)和難點(diǎn)放在了界面設(shè)計(jì)方面。5.1.1基本界

49、面設(shè)置在基本界面確定后,添加各類控件,如圖所示:-20-將 Button 定義為自定義 CButtonST 按紐類的對(duì)象,進(jìn)度滑條定義為自定義的 CMySliderControl 類的對(duì)象,時(shí)間顯示靜態(tài)文本定義為自定義的CMatrixStatic。各個(gè)控件的位置是由程序控制,所以原來擺在什么地方并不影響程序顯示出來的效果。5.1.2打開文件,添加列表打開文件有兩種方法,一是通過主面板上打開按紐,二是通過菜單中文件的子菜單打開文件。添加文件:CButtonST,IDC_ADD,m_add5.1.3播放控制播放控制包括:播放(暫停) ,停止,上一首,下一首,循環(huán),播放進(jìn)程控制。播放控制也可在菜單中

50、進(jìn)行控制。1. 播放:CButtonST,IDC_PLAY, m_play2. 暫停:CButtonST,IDC_PAUSE, m_pause3. 停止:CButtonST,IDC_STOP, m_stop4. 上一首:CButtonST,IDC_PREVIOUS, m_previous5. 下一首:CButtonST,IDC_NEXT, m_next圖 51 對(duì)話框基本框架-21-6. 循環(huán):CButtonST,IDC_REPEAT, m_repeat7. 播放進(jìn)程控制 CMySliderControl, IDC_SLIDER, m_slider5.1.4對(duì)列表的控制列表的控制包括:添加文件

51、,刪除當(dāng)前所選項(xiàng),刪除全部,在列表中雙擊播放,列表的隱藏彈出。設(shè)置如下:1. 添加文件:CButtonST,IDC_ADD, m_add2. 刪除當(dāng)前所選項(xiàng):CButtonST, IDC_DEL, m_del3. 刪除全部:CButtonST, IDC_DELALL,m_delall4. 列表中的雙擊播放:LISTBOX 本身的 LBN_DBLCLK 消息函數(shù)OnDblclkList()5. 列表的隱藏彈出:CButtonST, IDC_HIDLIST, m_hid5.1.5菜單設(shè)置除去上述菜單控制之外,菜單中還包括音量控制,窗口總在最上。1. 音量控制:IDC_ONVOICE, m_voic

52、e2. 窗口總在最上:ID_W_TOP5.2 程序設(shè)計(jì)的詳細(xì)說明5.2.1界面設(shè)置各個(gè)自定義類的聲明:1. CButtonST 類:詳細(xì)說明請(qǐng)見程序。2. CMySliderControl 類:詳細(xì)說明請(qǐng)見程序。3. CMatrixStatic 類:詳細(xì)說明請(qǐng)見程序。先設(shè)置基本界面的圖形,如下:-22-圖 52 主界面的圖在主對(duì)話框的類定義中聲明:private:void InitMPlayerFace();/初始化界面在主對(duì)話框的初始化程序里調(diào)用該函數(shù),具體定義請(qǐng)參照程序中函數(shù):void CMediaDlg:InitMPlayerFace()在主界面設(shè)置好相應(yīng)的位置后,就開始定義各個(gè)控件的具

53、體功能。5.2.2 打開文件,添加列表打開添加文件的程序主要寫在按紐的 BN_CLICKED 消息函數(shù)里面。程序詳見void CMediaDlg:OnAdd() 5.2.3 播放控制1)播放:void CMediaDlg:OnPlay() 2)暫停:void CMediaDlg:OnPause() 3)停止:void CMediaDlg:OnStop() 4)上一首:void CMediaDlg:OnPrevious() 5)下一首:void CMediaDlg:OnNext() 6)循環(huán):void CMediaDlg:OnRepeat() -23-7)播放進(jìn)程控制 void CMediaDl

54、g:OnReleasedcaptureSlider(NMHDR* pNMHDR, LRESULT* pResult) 以上程序代碼詳見畢業(yè)設(shè)計(jì)。5.2.4 對(duì)列表控制1) 添加文件:CButtonST,IDC_ADD, m_add此函數(shù)同上述打開文件 ONADD() 。2) 刪除當(dāng)前所選項(xiàng):void CMediaDlg:OnDel() 3) 刪除全部:void CMediaDlg:OnDelall() 4) 列表中的雙擊播放:LISTBOX 本身的 LBN_DBLCLK 消息函數(shù)OnDblclkList()void CMediaDlg:OnDblclkList() 5) 列表的隱藏彈出:voi

55、d CMediaDlg:OnHidlist() 5.2.5 菜單設(shè)置1)菜單是從按紐出來,而不是原來意義的直接添加在對(duì)話框上。菜單按紐: void CMediaDlg:OnMenu() 2)音量控制是調(diào)用系統(tǒng)自帶的音量控制程序。語句如下:void CMediaDlg:OnOnvoice() /調(diào)用系統(tǒng)的音量控制ShellExecute(this-m_hWnd, open, sndvol32.exe, NULL, NULL, SW_SHOWNORMAL);3)窗口總在最上:void CMediaDlg:OnWTop() -24-25-6 軟件設(shè)計(jì)結(jié)果6.1 主界面播放主界面打開有兩種形式:一種是

56、不帶播放列表如圖 6-1 所示,一種是帶播放列表,可以清楚的看到當(dāng)前所播放的曲目名稱如圖 6-2 所示.圖 6-1 播放主界面(不帶播放列表)圖 6-2 播放主界面(帶列表)此播放器還支持視頻播放如圖 6-3 所示.圖 6-3 視頻播放-26-6.1 打開文件單擊播放器的打開按鈕,會(huì)彈出打開對(duì)話框,在里面可以查找本地歌曲及視頻,選擇要播放的曲目,打擊打開即可播放如圖 6-4 所示.圖 6-4 文件打開界面6.1 列表控制帶列表的主界面可以清楚的看到播放列表,正在播放的曲目,以及下一個(gè)即將播放的曲目如圖 6-5 所示.圖 6-5 列表控制界面-27-6.1 菜單控制使用者可以通過菜單對(duì)播放器進(jìn)行

57、控制,如圖 6-6 所示。圖 6-6 菜單控制界面-28-7 軟件評(píng)價(jià)7.1 軟件的特點(diǎn)經(jīng)過長期的調(diào)試和改正,軟件基本可以正常運(yùn)行,基本實(shí)現(xiàn)了預(yù)實(shí)現(xiàn)功能。除了支持 MICROSOFTMEDIAPLAYER 支持的一切格式外,還支持其他一些音視頻格式。本軟件簡單小巧,占很少空間。7.1 軟件的不足因?yàn)橹皇窃嚲幍能浖?,不夠?qū)I(yè),所以相比現(xiàn)已成熟的各種播放器來,更顯得過于單調(diào),而且功能方面還有待加強(qiáng)。-29-結(jié) 論通過對(duì)整個(gè)媒體播放器軟件的設(shè)計(jì),我不僅對(duì)播放器的開發(fā)了有一定的了解,也認(rèn)識(shí)了平常不常接觸到的媒體類型及其發(fā)展,使我的編程能力了有了很大的提高。本軟件實(shí)現(xiàn)在大多數(shù)的媒體格式的播放,基本上 W

58、indows Media Player 能播放的格式,本軟件都支持,還有其他一些格式。雖然看起來成果不錯(cuò),但是一路走過來,也發(fā)現(xiàn)了自己還有很多不足。做畢業(yè)設(shè)計(jì)時(shí)讓我對(duì) VC的運(yùn)用更是熟練了很多,而且有了系統(tǒng)地設(shè)計(jì)軟件的概念,這對(duì)我以后的軟件開發(fā)打下了很好的基礎(chǔ)。但是畢竟只是一個(gè)人開發(fā),且技術(shù)知識(shí)不夠,當(dāng)然不能跟專業(yè)的媒體播放器(比如 winamp,windowsmediaplayer 等)相比,本軟件還可以繼續(xù)開發(fā),比如實(shí)現(xiàn) CD 抓軌,全屏視頻播放等?!皶接脮r(shí)方恨少” ,只是到要用的時(shí)候,才會(huì)覺得這句話的有理。在設(shè)計(jì)的過程中,時(shí)常會(huì)碰到問題,往往都是解決完一個(gè),同時(shí)又會(huì)冒出很多,單單只靠書

59、上查上沒有用的,而且有時(shí)候,雖然網(wǎng)絡(luò)資源豐富,但是搜索水平不夠,也不能找到有效的解決辦法,這種時(shí)候,向同學(xué)老師請(qǐng)教,就會(huì)讓自己受益很多。很遺憾,當(dāng)時(shí)選該課題時(shí),有些想實(shí)現(xiàn)的功能,由于知識(shí)水平有限,最后都只是放了一個(gè)模塊而已,都沒有具體的擴(kuò)展。有些更只是想想,但是沒有實(shí)現(xiàn)。總的說來,此次軟件設(shè)計(jì),讓我深刻認(rèn)識(shí)的不足,以后會(huì)更加努力。-30-參 考 文 獻(xiàn)1 精英科技:視頻壓縮與音頻解碼技術(shù),中國電力出版社,2001 年 8 月第 1 版.2(美)Steve Mack:流媒體寶典,電子工業(yè)出版社,2003 年 1 月第 2 版.3 周長發(fā):Visual C+.NET 多媒體編程,電子工業(yè)出版社,2

60、002 年 6 月第 1 版.4 楊競銳:Visual C+.NET 深入編程(1CD) ,北京希望電子出版社,2002 年第 1 版.5(美)Microsoft 公司(希望圖書創(chuàng)作室譯):Microsoft Visual C+ MFC Library Reference,Part 1,VOL.1,北京希望電子出版社,1999 年 4 月第 1 版.6(美)Jeff Prosise(北京博彥科技發(fā)展有限公司譯):Programming Windows With MFC Second Edition,清華大學(xué)出版社,2001 年 9 月第 1 版.7(美)Jeff Prosise(王鐵,徐雅驥,

61、童霞,劉宇譯):Programming Microsoft.NET ,清華大學(xué)出版社,2004 年 4 月第 1 版.8曾悠久瑪數(shù)位科技:Visual C+游戲設(shè)計(jì)入門,機(jī)械工業(yè)出版社,2002 年 9 月第 1版.9辛長安,梅林:VC+編程技術(shù)與難點(diǎn)剖析,清華大學(xué)出版社,2002 年 4 月第 1 版.10揣錦華:面向?qū)ο蟪绦蛟O(shè)計(jì)與 VC+實(shí)踐,西安電子科技大學(xué)出版社,2005 年第 3 版.-31-致 謝畢業(yè)設(shè)計(jì)馬上就要結(jié)束了,在設(shè)計(jì)期間學(xué)到了很多,特別感謝我的指導(dǎo)教師給予我的指導(dǎo)和幫助,讓我能夠順利完成這次的設(shè)計(jì)。同時(shí)也發(fā)現(xiàn)了自己有很多不足,知識(shí)用時(shí)方恨少。再次,感謝那些在我遇到困難時(shí)對(duì)

62、我熱情幫助的同學(xué)們,朋友們,愿我們的友誼天長地久。最后感謝計(jì)算機(jī)學(xué)院所有老師和同學(xué)們四年來對(duì)我的關(guān)心和幫助!謝謝你們!ag an employment tribunal clai Emloyment tribunals sort out disagreements between employers and employees. You may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against

63、 you your employer dismisses you and you think that you have been dismissed unfairly. For more informu, take advice from one of the organisations listed under Further help. Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence

64、 under an oath or affirmation. Most people find making a claim to an employment tribunal challenging. If you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under Further help. ation about dismissal and unfair dismis

65、sal, see Dismissal. You can make a claim to an employment tribunal, even if you havent appealed against the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. Remember

66、that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept i. If you are worried about how the time limits apply to you If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is known as a da

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!