【正文】
edia Player Designed by VC++ Program LanguageAbstract: There are different characteristic among the normal multimedia player at present, but there are shorting 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 a particular presentation for the media player that designed by myselfplayer. 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, supporting list control for playing item and catch track of CD.Key words: media player; MCI; play list; audio; video6一 、 引 言多媒體技術(shù)的概念和應(yīng)用出現(xiàn)于 20 世紀 80 年代初期,經(jīng)過十余年的發(fā)展,隨著計算機科學(xué)網(wǎng)絡(luò)的普及和多媒體技術(shù)的發(fā)展,已成為計算機領(lǐng)域發(fā)展的熱點技術(shù),針對目前各種媒體格式,如何簡單方便的播放各類媒體已成為人們普遍關(guān)注的問題,而媒體播放器的開發(fā)也變得十分重要。 技 術(shù) 應(yīng) 用 的 基 本 現(xiàn) 狀Microsoft 公司 1998 年推出了 Visual C++6.0,它是支持 Win32 平臺應(yīng)用程序(application)、服務(wù)(service)和控件(control)開發(fā)的可視化編程的集成環(huán)境。所以 VC++6.0 可謂是 Microsoft 公司的王牌產(chǎn)品,編程功能強大而贏得廣大程序的偏愛。有發(fā)下三大發(fā)展趨勢:進一步完善計算機支持的協(xié)同工作環(huán)境;智能多媒體技術(shù);把多媒體信息實時處理和壓縮編碼算法集成到 CPU 中。因此應(yīng)解決的主要問題是如何把你了解的多媒體和 VC 知識應(yīng)用到實際編程當中去及編制的應(yīng)用軟件的可用性、易用性、健壯性。首先確定要解決的問題是弄清楚 MCI 函數(shù)與命令消息的名稱類型和功能;其次是通過分析媒體播放的具體過程,在打開媒體設(shè)備的過程中應(yīng)用程序需要做哪些事情,以便在應(yīng)用程序中加入對這些過程支持的代碼;在對應(yīng)用程序的流程有了大致的輪廓以后(最好畫出流程圖) ,在開始考慮程序框架的設(shè)計,應(yīng)用程序外觀的設(shè)計;最后也是最關(guān)鍵的就是編寫實現(xiàn)播放媒體的代碼將播放器的基本功能實現(xiàn),緊接著就是程序的調(diào)試和完善。以上各點構(gòu)成了本軟件的難點,在克難過程中,我的分析問題解決問題的能力有了很大的進步,經(jīng)過努力,一個占用空間小、簡單實用的小型媒體播放器終于完成了。9二 、 媒 體 格 式 簡 介 什么是媒體? 媒 體一般來說,媒體(medium ,復(fù)數(shù)形式為 media)是一種信息發(fā)布和表現(xiàn)的方法,如正文、圖形、語音、音樂等,可按不同的標準分類。如語言、音樂、圖形、活動圖像、文本等。感知媒體幫助人們來感知環(huán)境。②表示媒體(Representation medium):為傳輸感覺而研究出來的中間手段,以便更有效地將感覺從一地傳往另一地。要解決的主要問題是:計算機信息如何編碼?例子有:文本字符用 ASCⅡ或 EBCDIC 碼表示。組合音頻/視頻序列可以用不同的 TV 標準格式(PAL、SECAM 等)編碼。要解決的問題是:信息通過何種媒體輸入到計算機中或從計算機中輸出?輸出媒體的例子有屏幕、紙和喇叭,而輸入媒體的例子有鍵盤、鼠標、攝像機和麥克風等。數(shù)據(jù)存儲并不局限于計算機的部件,因此,紙也是一種存儲媒體。10⑤傳輸媒體(Transmission medium):用來將表示媒體從一地傳輸?shù)搅硪坏氐奈锢韺嶓w。 多 媒 體從字面上看,所謂多媒體 multimedia,就是多種媒體的綜合,多媒體處理技術(shù)涉及到以上五種媒體形式。為了辨析多媒體的含義,我們給出兩個多媒體定義進行比較: ①多媒體是指這樣的一個計算機系統(tǒng):交互式綜合處理多種媒體信息-文本、圖形、圖像和聲音等,使多種信息建立邏輯連接,集成為一個具有交互性的系統(tǒng)。(IBM ,multimedia Foundation,1990 年) 顯然,定義②是有問題的,因為按這個定義,電視節(jié)目就可以看作是多媒體。定義①較好地體現(xiàn)了這一點:即多媒體的含義除多種媒體外,還包括集成性和交互性兩個重要的特性。簡單地說,數(shù)字音、視頻的編碼方式就是數(shù)字音、視頻格式,我們所使用的不同的數(shù)字音、視頻設(shè)備一般都對應(yīng)著不同的音頻文件格式。WAV 格式支11持許多壓縮算法,支持多種音頻位數(shù)、采樣頻率和聲道,采用 頻率,16 位量化位數(shù),因此 WAV的音質(zhì)與 CD相差無幾,但 WAV格式對存儲空間需求太大不便于交流和傳播。它定義了計算機音樂程序、數(shù)字合成器及其它電子設(shè)備交換音樂信號的方式,規(guī)定了不同廠家的電子樂器與計算機連接的電纜和硬件及設(shè)備間數(shù)據(jù)傳輸?shù)膮f(xié)議,可以模擬多種樂器的聲音。把這些指令發(fā)送給聲卡,由聲卡按照指令將聲音合成出來。CD 存儲采用了音軌的形式,又叫“紅皮書”格式,記錄的是波形流,是一種近似無損的格式。MP3能夠以高音質(zhì)、低采樣率對數(shù)字音、視頻文件進行壓縮。 WAV 格 式WMA (Windows Media Audio)是微軟在互聯(lián)網(wǎng)音頻、視頻領(lǐng)域的力作。此外,WMA 還可以通過 DRM(Digital Rights Management)方案加入防止拷貝,或者加入限制播放時間和播放次數(shù),甚至是播放機器的限制,可有力地防止盜版。T)所研發(fā)的以“知覺編碼”為關(guān)鍵技術(shù)的 a2b音樂壓縮技術(shù),由美國網(wǎng)絡(luò)技術(shù)公司(GMO)及 RIAA聯(lián)合公布的一種新的音樂格式。另外 MP4的壓縮比達到了 1:15,體積較 MP3更小,但音質(zhì)卻沒有下降。 QuickTime 格 式QuickTime是蘋果公司于 1991年推出的一種數(shù)字流媒體,它面向視頻編輯、Web網(wǎng)站創(chuàng)建和媒體技術(shù)平臺,QuickTime 支持幾乎所有主流的個人計算平臺,可以通過互聯(lián)網(wǎng)提供實時的數(shù)字化信息流、工作流與文件回放功能。Quick Time電影文件格式定義了存儲數(shù)字媒體內(nèi)容的標準方法,使用這種文件格式不僅可以存儲單個的媒體內(nèi)容(如視頻幀或音頻采樣),而且能保存對該媒體作品的完整描述;Quick Time文件格式被設(shè)計 用來適應(yīng)為數(shù)字化媒體一同工作需要存儲的各種數(shù)據(jù)。Quick Time 文件格式中媒體描述和媒體數(shù)據(jù)是分開存儲的,媒體描述或元數(shù)據(jù)(MetaData)叫做電影(Mo vie),包含軌道數(shù)目、視頻壓縮格式和時間信息。媒體數(shù)據(jù)是所有的采樣數(shù)據(jù),如視頻幀和音頻采樣,媒體數(shù)據(jù)可以與 Quick Time Movie存儲在同一個文件中,也可以存儲在一個單獨的文件或者在幾個文件中。低采樣率的 192kHz、 雖然是 2聲道重播專用,但它最多可收錄到 6聲道。13 RealAudio 格 式RealAudio是由 Real Networks公司推出的一種文件格式,最大的特點就是可以實時傳輸音頻信息,尤其是在網(wǎng)速較慢的情況下,仍然可以較為流暢地傳送數(shù)據(jù),因此 RealAudio主要適用于網(wǎng)絡(luò)上的在線播放。 AIFF 格 式AIFF(.AIF) 是蘋果公司開發(fā)的聲音文件格式,被 Macintosh平臺和應(yīng)用程序所支持。微軟將 ASF定義為 同步媒體的統(tǒng)一容器文件格式。ASF 的最大優(yōu)點是體積小,適合網(wǎng)絡(luò)傳輸,用戶可以將圖形、聲音和動畫數(shù)據(jù)組合成一個 ASF格式的文件,不僅可以將其他格式的視頻和音頻轉(zhuǎn)換為 ASF格式,而且用戶還可以通過聲卡和視頻捕獲卡將諸如傳聲器、錄像機等外設(shè)的數(shù)據(jù)保存為 ASF格式。數(shù)字音、視頻給我們的生活帶來了前所未有的變化。例如我們常使用到的音響設(shè)備、IP 電話、衛(wèi)星電話、數(shù)字衛(wèi)星電視以及專業(yè)錄音、制作等。14 常見播放器 Real PlayerRealNetworks推出的 Real Player是目前最受歡迎的網(wǎng)絡(luò)流媒體播放器,它幾乎支持所有的媒體文件格式。Real One Player是 RealNetworks公司最新推出的一種新型音視頻綜合播放系統(tǒng),以取代該公司現(xiàn)有的 3種主打產(chǎn)品,即 Real Player、Real Jukebox和 Gold Pass。 Windows PlayerWindows Media Player是一個基于 Direct Show體系結(jié)構(gòu)的多媒體播放器。它幾乎支持 Windows下的所有媒體文件格式,包括 CD音 頻曲目文件、ASF 、MPEGMPEGWAV、AVI 、MIDI、VOD、AU、MP3 等,同時可以播放 Quick Time文件。Quick Time Player能夠直接播放的格式有 Quick Time電影、AVI、AIFF 音頻、SGI 圖像、Macromedia Flash等。Quick Time Player還支持基于 HTTP、RTP、RTSP 、FTP 流格式的在線音頻和視頻。它白日做夢一組與設(shè)備無關(guān)的函數(shù)和命令,可有效地控制多媒體設(shè)備。MCI包含在 Windows系統(tǒng)的 ,有以協(xié)調(diào)多媒體事件和 MCI設(shè)備驅(qū)動程序之間的通信?!CI 設(shè)備使用 MCI的應(yīng)用程序通過指定 MCI的設(shè)備來區(qū)分 MCI設(shè)備,設(shè)備類型說明了設(shè)備的物理類型。表 31 MCI 設(shè)備類型MCI 設(shè)備 說 明Cdaudio 激光唱