《多媒體技術(shù)》作業(yè)匯總_第1頁
《多媒體技術(shù)》作業(yè)匯總_第2頁
《多媒體技術(shù)》作業(yè)匯總_第3頁
《多媒體技術(shù)》作業(yè)匯總_第4頁
《多媒體技術(shù)》作業(yè)匯總_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、部分多媒體技術(shù)軟件實驗共同的基本實驗條件:多媒體PC機、Windows操作系統(tǒng)、Visual C+ (MFC )1. (必做平時作業(yè))Wave(1)實驗名稱:波形音頻文件的讀顯和播放。(2)實驗背景:音頻是一類重要的媒體,WAV文件是PC機的常用波形(Wave)音頻格式,是Windows的多媒體文件格式 RIFF中的一種,WAV文件中的音頻數(shù)據(jù)一般未壓縮,可(不需解碼)直接由聲卡和音頻芯片播放。(3)實驗目的:掌握波形音頻信號的數(shù)字化結(jié)果和參數(shù),熟悉WAV文件格式,掌握數(shù)據(jù)預處理和曲線繪制方法,了解波形曲線和聲音的關(guān)系,學習多媒體編程準備(包含多媒體 頭文件并添加多媒體庫文件)和波形文件的播放

2、方法。(4)實驗內(nèi)容:播放 WAV文件,讀入 WAV文件中的參數(shù)和音頻數(shù)據(jù),在程序窗口的 客戶區(qū)繪制波形音頻數(shù)據(jù)曲線。(5)實驗步驟:創(chuàng)建一個名為 Wave的單文檔MFC應用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的WAV文件的完整路徑名串,在文檔類的序列化函數(shù)中利用PlaySound函數(shù)播放該波形文件(需包含多媒體頭文件mmsystem.h并為項目添加多媒體庫文件 winmm.lib )、讀入此 WAV文件中的參數(shù)和音頻數(shù)據(jù),在視圖 類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的音頻參數(shù)和(單/雙聲道)波形數(shù)據(jù)繪制(一 /兩條)音頻波形曲線,參見下圖:單

3、聲道波形音頻數(shù)據(jù)的 Wave程序建議:對不同位數(shù)的整數(shù)樣本值,可以先在文檔類中歸一化到 -1, 1區(qū)間的浮點數(shù)后, 再在視圖類中統(tǒng)一顯示。對大波形文件,當樣本個數(shù)大于客戶區(qū)寬度的4倍時(經(jīng)驗值,你也可以取 3倍、5倍、或6倍等等),可以改為逐像素點畫垂直的直線段,該線段兩端點的y值等于該像素所對應的樣本值序列的最大 /小值。(6) 其他實驗條件: WAV文件的基本格式、若干 WAV文件。2. (選做平時作業(yè))Pallette(1) 實驗名稱:實現(xiàn)調(diào)色板對話框。(2) 實驗背景:圖形繪制和圖像處理都需要選擇顏色,屏幕顯示顏色一般用 RGB模型,而人類則一般習慣使用HSL模型,需要進行相互轉(zhuǎn)換。(

4、3) 實驗目的:熟悉顏色的特性和常用模型,掌握RGB和HSL模型間的相互轉(zhuǎn)換算法,學習對話框中的鼠標和鍵盤消息響應、在控件上繪圖、文本編輯框的改變消息和焦點消息的響應。(4) 實驗內(nèi)容:編程實現(xiàn)交互式調(diào)色板對話框,包含色調(diào)-飽和度塊、亮度條和選中色塊,HSL和RGB編輯框,可用鼠標選擇顏色、在各編輯框中修改顏色分量值、并進行HSL和RGB間的實時動態(tài)模型轉(zhuǎn)換,參見下圖:盤諂色板x調(diào)色板程序(5) 實驗步驟:創(chuàng)建一個基于對話框的MFC應用程序,添加三個圖片控件、六個編輯控件和若干靜態(tài)文本控件。在對話框初始化時逐像素繪制色調(diào)-飽和度塊、逐線繪制亮度條、 繪制選中色塊矩形、(利用異或方法)繪制表示當

5、前顏色值位置的十字線和直線段。響應色調(diào)-飽和度塊和亮度條上的鼠標單擊和拖動消息,重新繪制亮度條及表示當前顏色值位置的 十字線和直線段,修改編輯框中的HSL值,進行HSL到RGB的轉(zhuǎn)換,根據(jù)此轉(zhuǎn)換的結(jié)果修改編輯框中 RGB的值,利用新的 RGB值重新繪制選中色塊。響應有輸入焦點的文本編 輯框的改變消息, 根據(jù)HSL或RGB編輯框中的新值, 進行HSL到RGB或RGB到HSL的 轉(zhuǎn)換,利用轉(zhuǎn)換結(jié)果修改 RGB或HSL編輯框中的值。用新的 HSL值,重新繪制亮度條及 表示當前顏色值位置的十字線和直線段,用新的RGB值重新繪制選中色塊。(6) 其他實驗條件:無。3. (必做平時作業(yè))BMP(1) 實驗

6、名稱:讀取和解碼 BMP文件,逐點顯示并灰度轉(zhuǎn)換。(2) 實驗背景:BMP (Bitmap,位圖)是 Windows平臺的基本圖像格式,支持各種顏色位數(shù)的圖像,一般不壓縮,可以直接用于顯卡或GPU的顯示。對4位和8位顏色BMP文件,可以還采用 RLE (游程編碼)進行壓縮。有時需要將彩色圖像轉(zhuǎn)換為灰度圖。(3) 實驗目的:熟悉BMP文件格式,了解基本圖像參數(shù),掌握RLE壓縮算法和彩色轉(zhuǎn) 灰度算法,復習像素繪制函數(shù)。(4) 實驗內(nèi)容:直接讀取(各種顏色位數(shù)的)BMP文件中的圖像參數(shù)和二進制數(shù)據(jù),必要時進行 RLE解碼,逐像素繪制圖像數(shù)據(jù)。并利用公式: Y = 0.299R + 0.587G +

7、0.114B , 將8位彩圖和真彩圖轉(zhuǎn)換為灰度圖,然后逐像素顯示。(5) 實驗步驟:創(chuàng)建一個單文檔MFC應用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的BMP文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此BMP文件中的圖像參數(shù)和數(shù)據(jù),如果含RLE壓縮編碼則進行解碼,利用讀入的 調(diào)色板參數(shù)獲取圖像的 RGB數(shù)據(jù)。在視圖類的 OnDraw函數(shù)中利用保存在文檔類的公共變 量中的圖像參數(shù)和數(shù)據(jù), 使用CDC類的SetPixl函數(shù)逐像素繪制圖像。 在用戶選擇灰度轉(zhuǎn)換 時,利用公式:Y = 0.299R + 0.587G + 0.114B,將8位彩圖和真彩圖轉(zhuǎn)換為灰度圖,然

8、后再逐像素顯示它。(6) 其他實驗條件: BMP 文件格式,若干 BMP 文件。4(選做平時作業(yè)) GIF(1) 實驗名稱:讀顯 GIF 文件。(2) 實驗背景:GIF (可交換圖形格式)是最常用的圖像文件格式之一,采用了無損的 LZW 字典編碼壓縮算法。(3) 實驗目的:熟悉 GIF 文件格式,掌握 LZW 壓縮算法。(4) 實驗內(nèi)容:讀入(含單個圖片的) GIF 文件,實現(xiàn) LZW 解碼,在程序窗口的客戶 區(qū)顯示圖片。(5) 實驗步驟:創(chuàng)建一個單文檔 MFC 應用程序,利用“文件”菜單中的“打開”菜單 項彈出的“打開”對話框獲取用戶選擇的 GIF 文件的完整路徑名串,在文檔類的序列化函 數(shù)

9、中讀入此 GIF 文件中的圖像參數(shù)和數(shù)據(jù),實現(xiàn) LZW 解碼算法,利用讀入的調(diào)色板參數(shù)獲 取圖像的 RGB 數(shù)據(jù)。在視圖類的 OnDraw 函數(shù)中利用保存在文檔類的公共變量中的圖像參 數(shù)和數(shù)據(jù),使用 CDC 類的 SetPixl 函數(shù)逐像素繪制圖像。(6)其他實驗條件:GIF 文件格式,若干 GIF 文件。5(大作業(yè)選題)PNG(1) 實驗名稱:讀顯 PNG 文件。(2) 實驗背景:PNG (可移植網(wǎng)絡圖形)是 W3C (萬維網(wǎng)協(xié)會)于 的一種采用無損壓縮的圖像文件格式,在萬維網(wǎng)上的使用越來越廣泛。1996 年 10 月制定PNG 格式支持多達16位的灰度圖和48位的真彩圖,并且還可支持多達1

10、6位的a通道數(shù)據(jù)。PNG既突破了 GIF 的 8 位顏色的限制,又規(guī)避了 LZW 算法的專利收費。(3) 實驗目的:熟悉 PNG 文件格式,掌握 DEFLATE 壓縮算法。(4) 實驗內(nèi)容: 讀入 PNG 文件, 實現(xiàn) DEFLATE 解碼, 在程序窗口的客戶區(qū)顯示圖片。(5) 實驗步驟:創(chuàng)建一個單文檔 MFC 應用程序,利用“文件”菜單中的“打開”菜單 項彈出的“打開”對話框獲取用戶選擇的 PNG 文件的完整路徑名串,在文檔類的序列化函 數(shù)中讀入此 PNG 文件中的圖像參數(shù)和數(shù)據(jù), 實現(xiàn) DEFLATE 解碼算法。 在視圖類的 OnDraw 函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù)

11、, 使用 CDC 類的 SetPixl 函數(shù)逐像 素繪制圖像。(6) 其他實驗條件: PNG 文件格式,若干 PNG 文件。6(必做平時作業(yè)) DCT(1) 實驗名稱:實現(xiàn) JPEG 中的 DCT 變換和量化算法。(2) 實驗背景:JPEG是最常用的有損圖像壓縮算法,而8X 8的二維DCT (離散余弦變換)變換和量化又是該算法中的核心步驟。(3) 實驗目的:掌握8X 8數(shù)據(jù)塊的正反二維 DCT變換、量化和逆量化的具體算法。(4) 實驗內(nèi)容:逐個讀入 8X 8 (十六進制文本串格式的)亮度數(shù)據(jù)塊,依次進行二維 DCT 變換、量化(采用標準亮度量化表)、逆量化和逆二維 DCT 變換。輸出原始數(shù)據(jù)、

12、變 換后的數(shù)據(jù)、量化表、量化后的數(shù)據(jù)、逆量化的數(shù)據(jù)和反變換的數(shù)據(jù)(格式參見下圖)。1制144I4T內(nèi)I5S內(nèi)11 -2.1kJ14-115B153336159J56156156-22j6 -17.3-6.2-3_2-2941-I.Z150155160163I5EJ5S15635&皿93J.j6l_50.2-0.1閑1臨1俺21的Ifin伙1擁曲-7 1-1用0.2IJ0 9-C.l叩gj159】閒1611&21553S51554J.613I.&也1Uj61.31.66l!161lll1601571571571.8-92I.j6-D.S15IJO-1.0IWh時IEJ5714715T-L1-4.

13、4-15-4J|.l-0M1621&21616D l3 JSS 薄圉偉樣本I5S35E-2J61.6-35 I.& 1.9 U(b FDCT蠱數(shù)lb|ii1也24SI和0-L0D00012121419354I0ADDDtl1413l&244057Z 1Q000Q0141721博51腫期00000fi00IE22J756IW唱77q(I0QnQD0243555朗11139200QdQ0Q04917ICI3121抄|1000000007292MAB 112 IM 色菱童比表1039900Q 000(d) EtLSSfeQ02440100000014146N952154156156156-24-12

14、00000014350152354ISbIS&15&-14-|?igDpD口DIJT1*KISKlT15500000C00160閻161他161IS?571550DGDDD01.63血164IdJ162】51560DQ000D1品164抵11*3的000Q000Q1犧1M2I6Z161】陽I5K000o a o.反童化系數(shù)001翱|frl 36L361(f)垂構(gòu)的E3慷樣*I5kDCT和量化算法舉例(5) 實驗步驟:創(chuàng)建一個 Visual C+的Win32控制臺應用程序,讀入標準亮度量化表,逐個讀入8 X 8亮度數(shù)據(jù)塊,編碼實現(xiàn)二維DCT變換、量化、逆量化和逆二維DCT變換。輸出8X 8的原始

15、數(shù)據(jù)塊、變換后的數(shù)據(jù)塊、量化表、量化后的數(shù)據(jù)塊、逆量化的數(shù)據(jù)塊和反變換的數(shù)據(jù)塊。(6) 其他實驗條件:4個8 X 8的十六進制亮度值整數(shù)串塊和標準亮度量化表:98 9C 96 99 9C A1 A1 A6 B2 C9 EA E4 C9 B8 D3 E294 95 95 96 98 A0 A1 A7 B3 CB E2 EA D3 CD E6 E295 94 91 94 9D A3 A9 A6 A7 A9 B7 BC D4 D8 C0 B28D 92 8F 94 8F 8F 8C 87 84 83 92 91 9D A2 98 907F 7C 7B 74 72 73 72 6F 6F 6B 7A

16、7F 8B 85 5D 4E5A 61 6A 5D 58 54 4D 49 51 5F 6D 72 77 67 5C 546A 72 74 73 74 74 6F 70 72 72 7F 89 8D 94 8B 7E77 7F 85 89 87 9A A2 A6 AE AF BE C9 CC C7 A2 8976 7A 7C 87 91 A3 B3 C3 C3 C0 C5 CF D5 C7 99 897F 83 7F 7E 89 96 9A A2 A7 A3 9C 9E A6 A2 89 91 7A 7F 81 7F 7F 8C 90 90 99 96 92 90 90 8C 8C 96 7F

17、 7B 77 77 7A 81 84 87 90 88 87 81 7F 8B 98 9A84 7E 7C 76 74 70 72 74 74 70 74 78 8C A2 9D 9485 81 87 88 83 7C 78 7C 80 85 8D 99 A0 A1 94 8D 88 89 92 96 96 9A 9D 9D 9C 9E A1 A1 A1 9D 8D 94 94 94 9C A1 A5 AB B2 AE A6 A5 A5 A6 A1 99 96 954個8X 8的亮度值塊17 18 24 47 99 99 99 9918 21 26 66 99 99 99 9924 26 56

18、 99 99 99 99 9947 66 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 99 標準亮度量化值7(大作業(yè)選題) JPEG(1) 實驗名稱:讀顯 JPEG 文件。(2) 實驗背景:JPEG(聯(lián)合圖象專家組)是使用最廣泛的有損圖像壓縮算法, 是ISO/IEC 和ITU于1992年推出的國際標準,支持8位灰度圖和真彩圖。JFIF是JPEG文件格式(*.JPG) 的事實標準。(3) 實驗目的:熟悉JFIF文件格式,掌握 J

19、PEG算法。(4) 實驗內(nèi)容:讀入JPG文件,實現(xiàn)JPEG解碼,在程序窗口的客戶區(qū)顯示圖片。(5) 實驗步驟:創(chuàng)建一個單文檔 MFC 應用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的JPEG文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此JPEG文件中的圖像參數(shù)和數(shù)據(jù), 實現(xiàn)JPEG解碼算法一一熵解碼 (Hufman/LRE 算法)、逆量化、IDCT、重構(gòu)圖像數(shù)據(jù)。在視圖類的On Draw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),使用 CDC 類的 SetPixl 函數(shù)逐像素繪制圖像。(6) 其他實驗條件:標準量化表、標準 Huffman 表、 JFIF

20、 文件格式,若干 JPG 文件。8(大作業(yè)選題) ImgConvt實現(xiàn)JPEG算法的編解碼,讀寫并顯示 *.JPG文件及*.BMP和*.GIF文件,實現(xiàn)這幾種文件 格式的相互轉(zhuǎn)換。(1) 實驗名稱:常用圖像文件的格式轉(zhuǎn)換。(2) 實驗背景: 在不同的系統(tǒng)平臺和應用環(huán)境中, 有時需要在不同的圖像文件格式 (如 Windows中的BMP、萬維網(wǎng)中的 PNG、通用的JPEG和GIF等)之間進行相互轉(zhuǎn)換。(3) 實驗目的:熟悉BMP、GIF、PNG和JPEG的文件格式,掌握RLE、LZW DEFLATE 和 JPEG 壓縮算法的編解碼。(4) 實驗內(nèi)容:讀入BMP、GIF、PNG或JPEG文件,解碼并

21、顯示圖像。按用戶要求轉(zhuǎn) 換(編碼)成另一種圖像格式保存。(5) 實驗步驟:創(chuàng)建一個多文檔 MFC 應用程序,利用“文件”菜單中的“打開”菜單項彈出的 “打開” 對話框獲取用戶選擇的圖像文件的完整路徑名串, 在文檔類的序列化函數(shù) 中讀入此文件中的圖像參數(shù)和數(shù)據(jù), 實現(xiàn)對應的解碼算法。 在視圖類的 OnDraw 函數(shù)中利用 保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),顯示該圖像。響應用戶的“文件” 菜單中的“另存為”命令,進行對應格式的編碼(轉(zhuǎn)換),在文檔類的序列化函數(shù)中將圖像參數(shù)和數(shù) 據(jù)寫入指定文件。(6)其他實驗條件:BMP、GIF、PNG和JFIF文件格式,若干BMP、GIF、PNG和JPG

22、文件。9.(必做平時作業(yè)) DukeA ni(1)實驗名稱:實現(xiàn)公爵位圖動畫。(2)實驗背景:動畫(包括電影和電視) 是一系列相關(guān)圖片等時間間隔的連續(xù)顯示,利 用的是人類的“視覺滯留”原理和“心理認可”現(xiàn)象。位圖動畫是動畫的基礎,公爵動畫是Java 的 Logo。(3)實驗目的:了解“視覺滯留”原理和“心理認可”現(xiàn)象,掌握位圖組顯示和計時器 的設置與響應方法。(4)實驗內(nèi)容:按照用戶設置的速度,循環(huán)播放公爵位圖動畫。參見下圖:公爵位圖動畫程序(5)實驗步驟:創(chuàng)建一個名為Duke的基于對話框的 MFC應用程序,添加一個圖片控件、一個靜態(tài)文本控件和一個編輯控件、一個“播放/停止”按鈕。將公爵(Du

23、ke)動畫所對應的10個256色(8位)BMP文件T1.BMP T10.BMP (參見下圖)添加到項目資源中。A* A技NT1.BMP T2.BMP T3.BMP T4.BMP T5.BMPT6.BMP T7.BMP T8.BMP T9.BMP T10.BMP公爵位圖資源系列圖片將T1.BMP設置為圖片控件的初始圖片(參見下圖)。在對話框初始化時,創(chuàng)建CImageList對象,加入公爵系列位圖。在用戶按“播放”按鈕時,讀取編輯控件中的整數(shù),利用計算的 參數(shù)和SetTimer函數(shù),啟動計時器,修改按鈕標題串為“停止”。在計時器響應函數(shù) On Timer 中,利用CImageList的Draw函數(shù)

24、顯示當前圖片,當前圖片的序號加1并余10 (循環(huán))。在用戶按“停止”按鈕時,利用KillTimer函數(shù)停止計時器,修改按鈕標題串為“播放”。公爵位圖動畫對話框資源(6) 其他實驗條件:公爵動畫的10個BMP文件。10 .(必做平時作業(yè))OpenGL(1) 實驗名稱:OpenGL圖形動畫基礎。(2) 實驗背景:OpenGL是二/三維圖形動畫 API的國際標準,支持各種系統(tǒng)平臺,在大型專業(yè)級的設計、動畫和游戲等軟件中使用廣泛。Direct3D和Java 3D都源自OpenGL。(3) 實驗目的:了解OpenGL的特點、工作原理和過程,掌握OpenGL的形體構(gòu)造和圖形繪制方法。通過動態(tài)修改觀察點的位

25、置,實現(xiàn)旋轉(zhuǎn)物體和調(diào)整物體大小的(動畫)目的。(4) 實驗內(nèi)容:繪制自定義正方形并進行矩陣變換,繪制自定義球面和輔助庫中的各種曲面(如網(wǎng)面茶壺),動態(tài)改變觀察位置。(5) 實驗步驟:創(chuàng)建一個單文檔MFC應用程序,為項目添加 OpenGL庫文件(opengl32.lib、glu32.lib、glaux.lib ),在視圖類中包含 OpenGL 的頭文件(gl/gl.h、gl/glu.h、 gl/glaux.h ),在窗口創(chuàng)建函數(shù)進行必要的初始化, 在On Draw函數(shù)中繪制各種 Ope nGL圖形。 添加鍵盤與鼠標響應,動態(tài)修改觀察點的位置,實現(xiàn)旋轉(zhuǎn)物體和改變大小的動畫。(6) 其他實驗條件:對

26、有些Visual Studio版本,須要自己下載和安裝輔助庫及其頭文件(glaux.lib 和 glaux.h )。11.(必做平時作業(yè))Direct3D(1) 實驗名稱:用 Direct3D實現(xiàn)旋轉(zhuǎn)圓筒。(2) 實驗背景:Direct3D是DirectX的主體部分,是Windows平臺上游戲和動畫的主要 開發(fā)接口與工具。(3) 實驗目的:了解 Direct3D的圖形流水線和設備,掌握Direct3D的基本編程過程及光照材質(zhì)與紋理的基本使用方法。(4) 實驗內(nèi)容:初始化 Direct3D、創(chuàng)建Direct3D對象和設備、構(gòu)造圓柱面幾何對象, 在計時器響應中進行動態(tài)旋轉(zhuǎn)變換,設置光照材質(zhì)或紋理,

27、繪制圓筒,實現(xiàn)旋轉(zhuǎn)圓筒動畫。(5) 實驗步驟:下載和安裝 DirectX SDK,創(chuàng)建一個單文檔 MFC應用程序,在視圖類中包含多媒體和 Direct3D頭文件(mmsystem.h和d3dx9.h )。在視圖類的初始化更新函數(shù) 中初始化Direct3D、創(chuàng)建Direct3D對象和設備、構(gòu)造圓柱面幾何對象、啟動計時器。在計 時器響應函數(shù)中設置光照、材質(zhì)與紋理,進行世界、觀察和投影矩陣變換,包括動態(tài)旋轉(zhuǎn)變換,渲染和顯示場景,從而實現(xiàn)旋轉(zhuǎn)圓筒動畫。(6) 其他實驗條件: DirectX SDK 9.0c以上版本。12 .(必做平時作業(yè))MCl-AudioPlayer(1) 實驗名稱:MCI音頻播放

28、器。(2) 實驗背景:MCI (媒體控制接口)是 Windows控制多媒體設備的高層命令的傳統(tǒng) 接口,CD、WAV和MIDI是基本的音頻類型。(3) 實驗目的:掌握 MCI的命令串和命令消息方式,熟悉CD、WAV和MIDI設備的相關(guān)命令參數(shù)。(4) 實驗內(nèi)容:使用 MCI的命令串或命令消息方式,打開和播放CD、WAV和MIDI設備和文件,顯示相關(guān)參數(shù)信息,交互控制各種音頻媒體的播放。(5) 實驗步驟:創(chuàng)建一個基于對話框的MFC應用程序,添加若干按鈕、單選鈕、編輯控件和靜態(tài)文本控件。使用MCI的命令串或命令消息方式,打開指定的設備類型,顯示相關(guān)參數(shù)息信。響應用戶操作,控制設備(媒體文件)的播放。

29、參加下圖:CD-DA播放器(6) 其他實驗條件:若干 CD-DA光盤、WAV文件和MIDI文件。13 .(必做平時作業(yè))MIDI-VirtualEleOrgan(1) 實驗名稱:虛擬電子琴。(2) 實驗背景:MIDI (樂器數(shù)字接口)是電子樂器和計算機之間交換音樂信息所使用的一種標準協(xié)議,使用非常廣泛。PC機的音頻芯片和聲卡中含有支持MIDI的聲音合成器,可用來模擬電子琴。(3) 實驗目的:掌握 MMAPI (多媒體API )中的基本MIDI函數(shù)midiOutShortMsg,熟 悉常用的MIDI消息參數(shù)一一音符開(發(fā)出樂音)、音符關(guān)(停止樂音)和程序改變(選擇音色/樂器種類),了解GM旋律樂

30、器音色編號。(4) 實驗內(nèi)容:利用 PC機的鍵盤(鼠標)和音頻芯片,編寫利用MIDI接口來模擬電子琴的簡單程序。(5) 實驗步驟:創(chuàng)建一個基于對話框的MFC應用程序,在項目屬性中添加對多媒體庫winmm.lib鏈接,在視圖類中包含多媒體頭文件 mmsystem.h。添加若干控件,用一排按鈕表 示電子琴的鍵盤、用列表框來選擇樂器種類。用主鍵盤上的數(shù)字鍵17表示中音17、在按17鍵的同時按住Shift鍵時播放高音1 7、在按17鍵的同時按住Ctrl鍵時播放低音1 7、* 在按17鍵的同時按住 Caps Lock鍵時播放超高音1 7、在按17鍵的同時按住左窗口鍵 時播放超低音 1: 7:。在用戶按下

31、鍵盤上的數(shù)字鍵或用鼠標按下對應的對話框中按鈕時,播:放對應的樂音;在用戶松開按鍵或按鈕后停止樂音。(6) 其他實驗條件: GM 旋律樂器音色編號表。14 (必做平時作業(yè)) DirectSound-War(1) 實驗名稱:戰(zhàn)爭音效。(2) 實驗背景: DirectSound 是 DirectX 中的傳統(tǒng)音頻模塊, 是一種主要針對波形音頻的 高效底層接口。(3) 實驗目的:掌握 DirectSound 編程的具體步驟和方法,了解利用 MMIO (多媒體文 件 IO )讀取 WAV 文件和資源中的數(shù)據(jù)內(nèi)容與參數(shù)信息的方法。(4) 實驗內(nèi)容:用 DirectSound 控制和播放多種戰(zhàn)爭音效的波形文件

32、,采用隨機聲道混 音和立體音效, 來模仿戰(zhàn)場上槍林彈雨和爆炸聲的音響效果。 在程序窗口的客戶區(qū)輸出字符 串 閉上你的眼睛,聆聽戰(zhàn)爭 .。(5) 實驗步驟:下載和安裝 DirectX SDK ,創(chuàng)建一個單文檔 MFC 應用程序,添加 13 個 戰(zhàn)爭音效的 WAV 文件資源,包含多媒體頭文件 MMSystem.h 和 DirectSound 的頭文件 DSound.h。在窗口的創(chuàng)建函數(shù)中,初始化聲音對象,其中用若干MMIO函數(shù)來獲得波形音頻的結(jié)構(gòu)和波形數(shù)據(jù)的大小、 將 WAV 文件或資源中的波形數(shù)據(jù)填入輔聲音緩沖區(qū)。 在計時 器消息響應函數(shù)中, 隨機播放各種戰(zhàn)爭音效的 WAV 資源。 并調(diào)節(jié)左右聲

33、道的相對音量,以 產(chǎn)生聲音移動的立體聲效果。 對直升飛機的聲音, 采用循環(huán)播放, 并不斷調(diào)節(jié)左右聲道的相 對音量, 還依據(jù)其離中心平衡點的遠近, 來設置主音量的大小, 使越遠聲音越小。 在 OnDraw 函數(shù)中,設置 42 磅黑體字和紅色文本顏色,輸出字符串 閉上你的眼睛,聆聽戰(zhàn)爭 .。(6) 其他實驗條件: DirectX SDK 9.0c 以上版本, 13個基本戰(zhàn)爭音響波形文件 1 種 直升飛機聲音、 2 種飛彈聲、 5種槍聲、 4種爆炸聲、 1 種警報聲。15 (選做平時作業(yè)) AVI(1) 實驗題目:播放 AVI 文件。(2) 實驗目標:熟悉 AVI (音視頻交錯)文件的基本格式,讀取

34、音視頻參數(shù)和數(shù)據(jù),同 步播放音視頻數(shù)據(jù)。(3) 實驗要求:編寫 MFC 應用程序,實現(xiàn)無壓縮 AVI 文件的手工解碼和播放。16 (大作業(yè)選題) MPEG-1(1) 實驗題目:播放 MPEG-1 和 VCD 文件。 實驗目標:掌握MPEG (運動圖象專家組)-1的音視頻解碼方法,了解常用的MPEG-1 和 VCD 文件格式。(3) 實驗要求: 編寫 MFC 應用程序, 實現(xiàn) MPEG-1 或 VCD 的音視頻解碼和同步播放。 可以參考若干自由源代碼。17 (大作業(yè)選題) MP3(1)實驗題目:播放(2)實驗目標:掌握件格式。(3)實驗要求:編寫自由源代碼。MP3 文件。MP3 ( MPEG-1

35、 Audio Layer川)音視頻解碼方法,了解MP3文MFC 應用程序,實現(xiàn) MP3 解碼算法和音頻播放。可以參考若干18 (大作業(yè)選題) MPEG-2(1) 實驗題目:播放 MPEG-2 和 DVD 文件。(2) 實驗目標: 掌握 MPEG-2 的基本音視頻解碼方法, 了解常用的 MPEG-2 和 DVD 文 件格式。(3) 實驗要求: 編寫 MFC 應用程序, 實現(xiàn) MPEG-2 和 DVD 的音視頻解碼和同步播放。 可以參考若干自由源代碼。19 (大作業(yè)選題) H.264/AVC(1) 實驗題目:播放采用 H.264/AVC 編碼的視頻文件。(2) 實驗目標:掌握 H.264/AVC

36、(先進頻編碼)的基本視頻解碼方法,了解常用的 H.264/AVC 文件格式。(3) 實驗要求:編寫 MFC 應用程序,實現(xiàn) H.264/AVC 解碼算法,播放視頻數(shù)據(jù)??梢?參考若干自由源代碼。20 (大作業(yè)選題) AVS-P2(1) 實驗題目:播放采用 AVS-P2 編碼的視頻文件。(2) 實驗目標:掌握 AVS-P2 (音視頻編碼標準 -第 2 部分)的基本視頻解碼方法,了解 常用的 AVS-P2 文件格式。(3) 實驗要求:編寫 MFC 應用程序,實現(xiàn) AVS-P2 解碼算法,播放視頻數(shù)據(jù)??梢詤?考若干自由源代碼。21 (必做平時作業(yè)) MediaPlayer(1) 實驗名稱:媒體播放

37、器。(2) 實驗背景:微軟在 Windows 中提供了媒體播放器組件 (Media Player ActiveX 控件), 可支持大多數(shù)標準格式(如 AVI 、ASF、MPEG、WAV 、MIDI 、MP3、WMA 等)的流式 媒體文件的播放。(3) 實驗目的:學習 ActiveX 控件的使用方法,掌握媒體播放器組件的常用函數(shù)。(4) 實驗內(nèi)容:利用 ActiveX 控件,實現(xiàn)媒體播放器。(5) 實驗步驟:創(chuàng)建一個基于對話框的 MFC 應用程序,添加 Windows Media Player 控 件和“裝入”按鈕。在“裝入”按鈕的響應函數(shù)中,打開公用文件對話框,獲取用戶所選媒 體文件的完整路徑

38、串, 用該串調(diào)用 ActiveX 控件對象的成員函數(shù) put_URL ,將指定的媒體文件傳遞到播放器。參見下圖:媒體播放器(6) 其他實驗條件:若干流式媒體文件。22 .(選做平時作業(yè))GB2312(1) 實驗名稱:用 VC生成GB2312編碼網(wǎng)頁。(2) 實驗背景:GB2312是我國最早的漢字編碼標準,歷史悠久、使用廣泛。采用高位為1的雙字節(jié)編碼,分成 94個區(qū)(其中的第1015和8894區(qū)為空白區(qū)),每個區(qū)有 94 個漢字或其他字符。由于 JavaScript不直接支持GB2312編碼的生成,所以需用 C+等高級 語言編程工具。(3) 實驗目的:熟悉 GB2312的編碼方案,掌握 HTML

39、常用標簽尤其是表格標簽。(4) 實驗內(nèi)容:使用VC編寫一個程序,自動生成一個用表格分區(qū)顯示GB2312編碼網(wǎng)頁的HTML文件(不顯示空白區(qū)),瀏覽器的輸出如下圖所示:3 GK 2312-BDi 汶宇編嗎査-iicroMfl Internet-. r - L |tl|fx丈件 tt) SMB收 iB 工具$a oci” 鈾9區(qū)16E (10A1BO(FE)B0 01234567E9 A T d IF啊冋堆模哎唉哀世瘵藹燔艾礙爰陰氨妄施按暗悻肢秦恥昂盎凹敖熬朝芭棚扒嘰巴色兀疤巴拔菠把耙壩霸罷爸白柏百擺f百竝拜禪斑 扳般傾板版拎拌伴胡半辦絆邦幫悟謬綁棒諦持篠儔謗苞咆包吳剝GB2312網(wǎng)頁(5) 實驗

40、步驟:創(chuàng)建一個單文檔 MFC應用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的HTML文件的完整路徑名串。在文檔類的序列化函數(shù)中,利用 CArchive類的WriteString輸出各種標簽字符串,用 ar cl 樂乒乓疇乖乙L乜九乞習虬書豈乩a空|買乳db乾|6T0123456789ABCET0松企t何他f殳昭恍伊儻伏忻懷佚優(yōu)伙會伸傘偉f I Mt I 用 1旳1|EM. I * i 比 IihL RM I m斗 I Jt- i MCJK網(wǎng)頁(5) 實驗步驟:編寫含生成 CJK編碼表格的JavaScript腳本的HTML網(wǎng)頁,在網(wǎng)頁的 頭部定義生成CJK編碼表格的JavaScript函數(shù),在網(wǎng)頁體中調(diào)用該函數(shù)。(6) 其他實驗條件:Unicode ( BMP)中的CJK編碼方案,IE等網(wǎng)頁瀏覽器。24 .(必做平時作業(yè))DigitalClock(1) 實驗名稱:中文數(shù)字時鐘。(2) 實驗背景:JavaScript提供的日期時間對象 Date,可用于動態(tài)顯示數(shù)字時鐘。(3) 實驗目的:掌握 JavaScript的日期時間對象 Date和數(shù)組對象 Array基本使用方法, 熟悉HTML常用標簽(尤其是表單和輸入標簽), 掌握JavaScr

溫馨提示

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

評論

0/150

提交評論