![《多媒體技術(shù)》作業(yè)匯總_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e4/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e41.gif)
![《多媒體技術(shù)》作業(yè)匯總_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e4/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e42.gif)
![《多媒體技術(shù)》作業(yè)匯總_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e4/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e43.gif)
![《多媒體技術(shù)》作業(yè)匯總_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e4/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e44.gif)
![《多媒體技術(shù)》作業(yè)匯總_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/24/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e4/9ead1ee9-9d36-47cd-9dbc-9663c2c9f9e45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、部分多媒體技術(shù)軟件實驗共同的基本實驗條件:多媒體PC機(jī)、Windows操作系統(tǒng)、Visual C+(MFC)1(必做平時作業(yè))Wave(1)實驗名稱:波形音頻文件的讀顯和播放。(2)實驗背景:音頻是一類重要的媒體,WAV文件是PC機(jī)的常用波形(Wave)音頻格式,是Windows的多媒體文件格式RIFF中的一種,WAV文件中的音頻數(shù)據(jù)一般未壓縮,可(不需解碼)直接由聲卡和音頻芯片播放。(3)實驗?zāi)康模赫莆詹ㄐ我纛l信號的數(shù)字化結(jié)果和參數(shù),熟悉WAV文件格式,掌握數(shù)據(jù)預(yù)處理和曲線繪制方法,了解波形曲線和聲音的關(guān)系,學(xué)習(xí)多媒體編程準(zhǔn)備(包含多媒體頭文件并添加多媒體庫文件)和波形文件的播放方法。(4)
2、實驗內(nèi)容:播放WAV文件,讀入WAV文件中的參數(shù)和音頻數(shù)據(jù),在程序窗口的客戶區(qū)繪制波形音頻數(shù)據(jù)曲線。(5)實驗步驟:創(chuàng)建一個名為Wave的單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的WAV文件的完整路徑名串,在文檔類的序列化函數(shù)中利用PlaySound函數(shù)播放該波形文件(需包含多媒體頭文件mmsystem.h并為項目添加多媒體庫文件winmm.lib)、讀入此WAV文件中的參數(shù)和音頻數(shù)據(jù),在視圖類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的音頻參數(shù)和(單/雙聲道)波形數(shù)據(jù)繪制(一/兩條)音頻波形曲線,參見下圖:單聲道波形音頻數(shù)據(jù)的Wave程序
3、雙聲道波形音頻數(shù)據(jù)的Wave程序建議:l 對不同位數(shù)的整數(shù)樣本值,可以先在文檔類中歸一化到-1,1區(qū)間的浮點數(shù)后,再在視圖類中統(tǒng)一顯示。l 對大波形文件,當(dāng)樣本個數(shù)大于客戶區(qū)寬度的4倍時(經(jīng)驗值,你也可以取3倍、5倍、或6倍等等),可以改為逐像素點畫垂直的直線段,該線段兩端點的y值等于該像素所對應(yīng)的樣本值序列的最大/小值。 (6)其他實驗條件:WAV文件的基本格式、若干WAV文件。2(選做平時作業(yè))Pallette(1)實驗名稱:實現(xiàn)調(diào)色板對話框。(2)實驗背景:圖形繪制和圖像處理都需要選擇顏色,屏幕顯示顏色一般用RGB模型,而人類則一般習(xí)慣使用HSL模型,需要進(jìn)行相互轉(zhuǎn)換。(3)實驗?zāi)康模菏?/p>
4、悉顏色的特性和常用模型,掌握RGB和HSL模型間的相互轉(zhuǎn)換算法,學(xué)習(xí)對話框中的鼠標(biāo)和鍵盤消息響應(yīng)、在控件上繪圖、文本編輯框的改變消息和焦點消息的響應(yīng)。(4)實驗內(nèi)容:編程實現(xiàn)交互式調(diào)色板對話框,包含色調(diào)-飽和度塊、亮度條和選中色塊,HSL和RGB編輯框,可用鼠標(biāo)選擇顏色、在各編輯框中修改顏色分量值、并進(jìn)行HSL和RGB間的實時動態(tài)模型轉(zhuǎn)換,參見下圖:調(diào)色板程序(5)實驗步驟:創(chuàng)建一個基于對話框的MFC應(yīng)用程序,添加三個圖片控件、六個編輯控件和若干靜態(tài)文本控件。在對話框初始化時逐像素繪制色調(diào)-飽和度塊、逐線繪制亮度條、繪制選中色塊矩形、(利用異或方法)繪制表示當(dāng)前顏色值位置的十字線和直線段。響應(yīng)
5、色調(diào)-飽和度塊和亮度條上的鼠標(biāo)單擊和拖動消息,重新繪制亮度條及表示當(dāng)前顏色值位置的十字線和直線段,修改編輯框中的HSL值,進(jìn)行HSL到RGB的轉(zhuǎn)換,根據(jù)此轉(zhuǎn)換的結(jié)果修改編輯框中RGB的值,利用新的RGB值重新繪制選中色塊。響應(yīng)有輸入焦點的文本編輯框的改變消息,根據(jù)HSL或RGB編輯框中的新值,進(jìn)行HSL到RGB或RGB到HSL的轉(zhuǎn)換,利用轉(zhuǎn)換結(jié)果修改RGB或HSL編輯框中的值。用新的HSL值,重新繪制亮度條及表示當(dāng)前顏色值位置的十字線和直線段,用新的RGB值重新繪制選中色塊。(6)其他實驗條件:無。3(必做平時作業(yè))BMP(1)實驗名稱:讀取和解碼BMP文件,逐點顯示并灰度轉(zhuǎn)換。(2)實驗背景
6、:BMP(Bitmap,位圖)是Windows平臺的基本圖像格式,支持各種顏色位數(shù)的圖像,一般不壓縮,可以直接用于顯卡或GPU的顯示。對4位和8位顏色BMP文件,可以還采用RLE(游程編碼)進(jìn)行壓縮。有時需要將彩色圖像轉(zhuǎn)換為灰度圖。(3)實驗?zāi)康模菏煜MP文件格式,了解基本圖像參數(shù),掌握RLE壓縮算法和彩色轉(zhuǎn)灰度算法,復(fù)習(xí)像素繪制函數(shù)。(4)實驗內(nèi)容:直接讀取(各種顏色位數(shù)的)BMP文件中的圖像參數(shù)和二進(jìn)制數(shù)據(jù),必要時進(jìn)行RLE解碼,逐像素繪制圖像數(shù)據(jù)。并利用公式:Y = 0.299R + 0.587G + 0.114B,將8位彩圖和真彩圖轉(zhuǎn)換為灰度圖,然后逐像素顯示。(5)實驗步驟:創(chuàng)建一
7、個單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的BMP文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此BMP文件中的圖像參數(shù)和數(shù)據(jù),如果含RLE壓縮編碼則進(jìn)行解碼,利用讀入的調(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)換為灰度圖,然后再逐像素顯示它。(6)其他實驗條件:BMP文件格式,若干BMP文件。4(選做平時作業(yè))GIF(1)實驗
8、名稱:讀顯GIF文件。(2)實驗背景:GIF(可交換圖形格式)是最常用的圖像文件格式之一,采用了無損的LZW字典編碼壓縮算法。(3)實驗?zāi)康模菏煜IF文件格式,掌握LZW壓縮算法。(4)實驗內(nèi)容:讀入(含單個圖片的)GIF文件,實現(xiàn)LZW解碼,在程序窗口的客戶區(qū)顯示圖片。(5)實驗步驟:創(chuàng)建一個單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的GIF文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此GIF文件中的圖像參數(shù)和數(shù)據(jù),實現(xiàn)LZW解碼算法,利用讀入的調(diào)色板參數(shù)獲取圖像的RGB數(shù)據(jù)。在視圖類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)
9、和數(shù)據(jù),使用CDC類的SetPixl函數(shù)逐像素繪制圖像。(6)其他實驗條件:GIF文件格式,若干GIF文件。5(大作業(yè)選題)PNG(1)實驗名稱:讀顯PNG文件。(2)實驗背景:PNG(可移植網(wǎng)絡(luò)圖形)是W3C(萬維網(wǎng)協(xié)會)于1996年10月制定的一種采用無損壓縮的圖像文件格式,在萬維網(wǎng)上的使用越來越廣泛。PNG格式支持多達(dá)16位的灰度圖和48位的真彩圖,并且還可支持多達(dá)16位的通道數(shù)據(jù)。PNG既突破了GIF的8位顏色的限制,又規(guī)避了LZW算法的專利收費。(3)實驗?zāi)康模菏煜NG文件格式,掌握DEFLATE壓縮算法。(4)實驗內(nèi)容:讀入PNG文件,實現(xiàn)DEFLATE解碼,在程序窗口的客戶區(qū)顯
10、示圖片。(5)實驗步驟:創(chuàng)建一個單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的PNG文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此PNG文件中的圖像參數(shù)和數(shù)據(jù),實現(xiàn)DEFLATE解碼算法。在視圖類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),使用CDC類的SetPixl函數(shù)逐像素繪制圖像。(6)其他實驗條件:PNG文件格式,若干PNG文件。6(必做平時作業(yè))DCT(1)實驗名稱:實現(xiàn)JPEG中的DCT變換和量化算法。(2)實驗背景:JPEG是最常用的有損圖像壓縮算法,而88的二維DCT(離散余弦變換)變換和量化又是該算法中的核心
11、步驟。(3)實驗?zāi)康模赫莆?8數(shù)據(jù)塊的正反二維DCT變換、量化和逆量化的具體算法。(4)實驗內(nèi)容:逐個讀入88(十六進(jìn)制文本串格式的)亮度數(shù)據(jù)塊,依次進(jìn)行二維DCT變換、量化(采用標(biāo)準(zhǔn)亮度量化表)、逆量化和逆二維DCT變換。輸出原始數(shù)據(jù)、變換后的數(shù)據(jù)、量化表、量化后的數(shù)據(jù)、逆量化的數(shù)據(jù)和反變換的數(shù)據(jù)(格式參見下圖)。DCT和量化算法舉例(5)實驗步驟:創(chuàng)建一個Visual C+的Win32控制臺應(yīng)用程序,讀入標(biāo)準(zhǔn)亮度量化表,逐個讀入88亮度數(shù)據(jù)塊,編碼實現(xiàn)二維DCT變換、量化、逆量化和逆二維DCT變換。輸出88的原始數(shù)據(jù)塊、變換后的數(shù)據(jù)塊、量化表、量化后的數(shù)據(jù)塊、逆量化的數(shù)據(jù)塊和反變換的數(shù)據(jù)塊
12、。(6)其他實驗條件:4個88的十六進(jìn)制亮度值整數(shù)串塊和標(biāo)準(zhǔn)亮度量化表: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 7F 8B 85 5D 4E5A 61 6A 5D 58 54 4D 49 51 5F
13、 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 917A 7F 81 7F 7F 8C 90 90 99 96 92 90 90 8C 8C 967F 7B 77 77 7A 81 84 87 90 88 87 81 7F 8B 98 9A
14、84 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 8D88 89 92 96 96 9A 9D 9D 9C 9E A1 A1 A1 9D 8D 9494 94 9C A1 A5 AB B2 AE A6 A5 A5 A6 A1 99 96 954個88的亮度值塊17 18 24 47 99 99 99 9918 21 26 66 99 99 99 9924 26 56 99 99 99 99 9947 66 99 99 99 99 99 9999 99 99 99
15、 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標(biāo)準(zhǔn)亮度量化值7(大作業(yè)選題)JPEG(1)實驗名稱:讀顯JPEG文件。(2)實驗背景:JPEG(聯(lián)合圖象專家組)是使用最廣泛的有損圖像壓縮算法,是ISO/IEC和ITU于1992年推出的國際標(biāo)準(zhǔn),支持8位灰度圖和真彩圖。JFIF是 JPEG文件格式(*.JPG)的事實標(biāo)準(zhǔn)。(3)實驗?zāi)康模菏煜FIF文件格式,掌握J(rèn)PEG算法。(4)實驗內(nèi)容:讀入JPG文件,實現(xiàn)JPEG解碼,在程序窗口的客戶區(qū)顯示圖片。(5)實驗步驟:創(chuàng)建一個單文
16、檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的JPEG文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此JPEG文件中的圖像參數(shù)和數(shù)據(jù),實現(xiàn)JPEG解碼算法熵解碼(Huffman/LRE算法)、逆量化、IDCT、重構(gòu)圖像數(shù)據(jù)。在視圖類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),使用CDC類的SetPixl函數(shù)逐像素繪制圖像。(6)其他實驗條件:標(biāo)準(zhǔn)量化表、標(biāo)準(zhǔn)Huffman表、JFIF文件格式,若干JPG文件。8(大作業(yè)選題)ImgConvt實現(xiàn)JPEG算法的編解碼,讀寫并顯示*.JPG文件及*.BMP和*.GIF文件,實現(xiàn)這幾種文件
17、格式的相互轉(zhuǎn)換。(1)實驗名稱:常用圖像文件的格式轉(zhuǎn)換。(2)實驗背景:在不同的系統(tǒng)平臺和應(yīng)用環(huán)境中,有時需要在不同的圖像文件格式(如Windows中的BMP、萬維網(wǎng)中的PNG、通用的JPEG和GIF等)之間進(jìn)行相互轉(zhuǎn)換。(3)實驗?zāi)康模菏煜MP、GIF、PNG和JPEG的文件格式,掌握RLE、LZW、DEFLATE和JPEG壓縮算法的編解碼。(4)實驗內(nèi)容:讀入BMP、GIF、PNG或JPEG文件,解碼并顯示圖像。按用戶要求轉(zhuǎn)換(編碼)成另一種圖像格式保存。(5)實驗步驟:創(chuàng)建一個多文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框獲取用戶選擇的圖像文件的完整路徑名
18、串,在文檔類的序列化函數(shù)中讀入此文件中的圖像參數(shù)和數(shù)據(jù),實現(xiàn)對應(yīng)的解碼算法。在視圖類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),顯示該圖像。響應(yīng)用戶的“文件”菜單中的“另存為”命令,進(jìn)行對應(yīng)格式的編碼(轉(zhuǎn)換),在文檔類的序列化函數(shù)中將圖像參數(shù)和數(shù)據(jù)寫入指定文件。(6)其他實驗條件:BMP、GIF、PNG和JFIF文件格式,若干BMP、GIF、PNG和JPG文件。9(必做平時作業(yè))DukeAni(1)實驗名稱:實現(xiàn)公爵位圖動畫。(2)實驗背景:動畫(包括電影和電視)是一系列相關(guān)圖片等時間間隔的連續(xù)顯示,利用的是人類的“視覺滯留”原理和“心理認(rèn)可”現(xiàn)象。位圖動畫是動畫的基礎(chǔ),
19、公爵動畫是Java的Logo。(3)實驗?zāi)康模毫私狻耙曈X滯留”原理和“心理認(rèn)可”現(xiàn)象,掌握位圖組顯示和計時器的設(shè)置與響應(yīng)方法。(4)實驗內(nèi)容:按照用戶設(shè)置的速度,循環(huán)播放公爵位圖動畫。參見下圖:公爵位圖動畫程序(5)實驗步驟:創(chuàng)建一個名為Duke的基于對話框的MFC應(yīng)用程序,添加一個圖片控件、一個靜態(tài)文本控件和一個編輯控件、一個“播放/停止”按鈕。將公爵(Duke)動畫所對應(yīng)的10個256色(8位)BMP文件T1.BMP T10.BMP(參見下圖)添加到項目資源中。 T1.BMP T2.BMP T3.BMP T4.BMP T5.BMP T6.BMP T7.BMP T8.BMP T9.BMP T
20、10.BMP公爵位圖資源系列圖片將T1.BMP設(shè)置為圖片控件的初始圖片(參見下圖)。在對話框初始化時,創(chuàng)建CImageList對象,加入公爵系列位圖。在用戶按“播放”按鈕時,讀取編輯控件中的整數(shù),利用計算的參數(shù)和SetTimer函數(shù),啟動計時器,修改按鈕標(biāo)題串為“停止”。在計時器響應(yīng)函數(shù)OnTimer中,利用CImageList的Draw函數(shù)顯示當(dāng)前圖片,當(dāng)前圖片的序號加1并余10(循環(huán))。在用戶按“停止”按鈕時,利用KillTimer函數(shù)停止計時器,修改按鈕標(biāo)題串為“播放”。公爵位圖動畫對話框資源(6)其他實驗條件:公爵動畫的10個BMP文件。10(必做平時作業(yè))OpenGL(1)實驗名稱:
21、OpenGL圖形動畫基礎(chǔ)。(2)實驗背景:OpenGL是二/三維圖形動畫API的國際標(biāo)準(zhǔn),支持各種系統(tǒng)平臺,在大型專業(yè)級的設(shè)計、動畫和游戲等軟件中使用廣泛。Direct3D和Java 3D都源自O(shè)penGL。(3)實驗?zāi)康模毫私釵penGL的特點、工作原理和過程,掌握OpenGL的形體構(gòu)造和圖形繪制方法。通過動態(tài)修改觀察點的位置,實現(xiàn)旋轉(zhuǎn)物體和調(diào)整物體大小的(動畫)目的。(4)實驗內(nèi)容:繪制自定義正方形并進(jìn)行矩陣變換,繪制自定義球面和輔助庫中的各種曲面(如網(wǎng)面茶壺),動態(tài)改變觀察位置。(5)實驗步驟:創(chuàng)建一個單文檔MFC應(yīng)用程序,為項目添加OpenGL庫文件(opengl32.lib、glu3
22、2.lib、glaux.lib),在視圖類中包含OpenGL的頭文件(gl/gl.h、gl/glu.h、gl/glaux.h),在窗口創(chuàng)建函數(shù)進(jìn)行必要的初始化,在OnDraw函數(shù)中繪制各種OpenGL圖形。添加鍵盤與鼠標(biāo)響應(yīng),動態(tài)修改觀察點的位置,實現(xiàn)旋轉(zhuǎn)物體和改變大小的動畫。(6)其他實驗條件:對有些Visual Studio版本,須要自己下載和安裝輔助庫及其頭文件(glaux.lib和glaux.h)。11(必做平時作業(yè))Direct3D(1)實驗名稱:用Direct3D實現(xiàn)旋轉(zhuǎn)圓筒。(2)實驗背景:Direct3D是DirectX的主體部分,是Windows平臺上游戲和動畫的主要開發(fā)接口
23、與工具。(3)實驗?zāi)康模毫私釪irect3D的圖形流水線和設(shè)備,掌握Direct3D的基本編程過程及光照材質(zhì)與紋理的基本使用方法。(4)實驗內(nèi)容:初始化Direct3D、創(chuàng)建Direct3D對象和設(shè)備、構(gòu)造圓柱面幾何對象,在計時器響應(yīng)中進(jìn)行動態(tài)旋轉(zhuǎn)變換,設(shè)置光照材質(zhì)或紋理,繪制圓筒,實現(xiàn)旋轉(zhuǎn)圓筒動畫。(5)實驗步驟:下載和安裝DirectX SDK,創(chuàng)建一個單文檔MFC應(yīng)用程序,在視圖類中包含多媒體和Direct3D頭文件(mmsystem.h和d3dx9.h)。在視圖類的初始化更新函數(shù)中初始化Direct3D、創(chuàng)建Direct3D對象和設(shè)備、構(gòu)造圓柱面幾何對象、啟動計時器。在計時器響應(yīng)函數(shù)中
24、設(shè)置光照、材質(zhì)與紋理,進(jìn)行世界、觀察和投影矩陣變換,包括動態(tài)旋轉(zhuǎn)變換,渲染和顯示場景,從而實現(xiàn)旋轉(zhuǎn)圓筒動畫。(6)其他實驗條件:DirectX SDK 9.0c以上版本。12(必做平時作業(yè))MCI-AudioPlayer(1)實驗名稱:MCI音頻播放器。(2)實驗背景:MCI(媒體控制接口)是Windows控制多媒體設(shè)備的高層命令的傳統(tǒng)接口,CD、WAV和MIDI是基本的音頻類型。(3)實驗?zāi)康模赫莆誐CI的命令串和命令消息方式,熟悉CD、WAV和MIDI設(shè)備的相關(guān)命令參數(shù)。(4)實驗內(nèi)容:使用MCI的命令串或命令消息方式,打開和播放CD、WAV和MIDI設(shè)備和文件,顯示相關(guān)參數(shù)信息,交互控制
25、各種音頻媒體的播放。(5)實驗步驟:創(chuàng)建一個基于對話框的MFC應(yīng)用程序,添加若干按鈕、單選鈕、編輯控件和靜態(tài)文本控件。使用MCI的命令串或命令消息方式,打開指定的設(shè)備類型,顯示相關(guān)參數(shù)息信。響應(yīng)用戶操作,控制設(shè)備(媒體文件)的播放。參加下圖:CD-DA播放器(6)其他實驗條件:若干CD-DA光盤、WAV文件和MIDI文件。13(必做平時作業(yè))MIDI-VirtualEleOrgan(1)實驗名稱:虛擬電子琴。(2)實驗背景:MIDI(樂器數(shù)字接口)是電子樂器和計算機(jī)之間交換音樂信息所使用的一種標(biāo)準(zhǔn)協(xié)議,使用非常廣泛。PC機(jī)的音頻芯片和聲卡中含有支持MIDI的聲音合成器,可用來模擬電子琴。(3)
26、實驗?zāi)康模赫莆誐MAPI(多媒體API)中的基本MIDI函數(shù)midiOutShortMsg,熟悉常用的MIDI消息參數(shù)音符開(發(fā)出樂音)、音符關(guān)(停止樂音)和程序改變(選擇音色/樂器種類),了解GM旋律樂器音色編號。(4)實驗內(nèi)容:利用PC機(jī)的鍵盤(鼠標(biāo))和音頻芯片,編寫利用MIDI接口來模擬電子琴的簡單程序。(5)實驗步驟:創(chuàng)建一個基于對話框的MFC應(yīng)用程序,在項目屬性中添加對多媒體庫winmm.lib鏈接,在視圖類中包含多媒體頭文件mmsystem.h。添加若干控件,用一排按鈕表示電子琴的鍵盤、用列表框來選擇樂器種類。用主鍵盤上的數(shù)字鍵17表示中音17、在按17鍵的同時按住Shift鍵時播
27、放高音、在按17鍵的同時按住Ctrl鍵時播放低音、在按17鍵的同時按住Caps Lock鍵時播放超高音、在按17鍵的同時按住左窗口鍵時播放超低音。在用戶按下鍵盤上的數(shù)字鍵或用鼠標(biāo)按下對應(yīng)的對話框中按鈕時,播放對應(yīng)的樂音;在用戶松開按鍵或按鈕后停止樂音。(6)其他實驗條件:GM旋律樂器音色編號表。14(必做平時作業(yè))DirectSound-War(1)實驗名稱:戰(zhàn)爭音效。(2)實驗背景:DirectSound是DirectX中的傳統(tǒng)音頻模塊,是一種主要針對波形音頻的高效底層接口。(3)實驗?zāi)康模赫莆誅irectSound編程的具體步驟和方法,了解利用MMIO(多媒體文件IO)讀取WAV文件和資源
28、中的數(shù)據(jù)內(nèi)容與參數(shù)信息的方法。(4)實驗內(nèi)容:用DirectSound控制和播放多種戰(zhàn)爭音效的波形文件,采用隨機(jī)聲道混音和立體音效,來模仿戰(zhàn)場上槍林彈雨和爆炸聲的音響效果。在程序窗口的客戶區(qū)輸出字符串閉上你的眼睛,聆聽?wèi)?zhàn)爭.。(5)實驗步驟:下載和安裝DirectX SDK,創(chuàng)建一個單文檔MFC應(yīng)用程序,添加13個戰(zhàn)爭音效的WAV文件資源,包含多媒體頭文件MMSystem.h和DirectSound的頭文件DSound.h。在窗口的創(chuàng)建函數(shù)中,初始化聲音對象,其中用若干MMIO函數(shù)來獲得波形音頻的結(jié)構(gòu)和波形數(shù)據(jù)的大小、將WAV文件或資源中的波形數(shù)據(jù)填入輔聲音緩沖區(qū)。在計時器消息響應(yīng)函數(shù)中,隨機(jī)
29、播放各種戰(zhàn)爭音效的WAV資源。并調(diào)節(jié)左右聲道的相對音量,以產(chǎn)生聲音移動的立體聲效果。對直升飛機(jī)的聲音,采用循環(huán)播放,并不斷調(diào)節(jié)左右聲道的相對音量,還依據(jù)其離中心平衡點的遠(yuǎn)近,來設(shè)置主音量的大小,使越遠(yuǎn)聲音越小。在OnDraw函數(shù)中,設(shè)置42磅黑體字和紅色文本顏色,輸出字符串閉上你的眼睛,聆聽?wèi)?zhàn)爭.。(6)其他實驗條件:DirectX SDK 9.0c以上版本,13個基本戰(zhàn)爭音響波形文件1種直升飛機(jī)聲音、2種飛彈聲、5種槍聲、4種爆炸聲、1種警報聲。15(選做平時作業(yè))AVI(1) 實驗題目:播放AVI文件。(2) 實驗?zāi)繕?biāo):熟悉AVI(音視頻交錯)文件的基本格式,讀取音視頻參數(shù)和數(shù)據(jù),同步播放
30、音視頻數(shù)據(jù)。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)無壓縮AVI文件的手工解碼和播放。16(大作業(yè)選題)MPEG-1(1) 實驗題目:播放MPEG-1和VCD文件。(2) 實驗?zāi)繕?biāo):掌握MPEG(運動圖象專家組)-1的音視頻解碼方法,了解常用的MPEG-1和VCD文件格式。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)MPEG-1或VCD的音視頻解碼和同步播放。可以參考若干自由源代碼。17(大作業(yè)選題)MP3(1) 實驗題目:播放MP3文件。(2) 實驗?zāi)繕?biāo):掌握MP3(MPEG-1 Audio Layer )音視頻解碼方法,了解MP3文件格式。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)MP3解
31、碼算法和音頻播放??梢詤⒖既舾勺杂稍创a。18(大作業(yè)選題)MPEG-2(1) 實驗題目:播放MPEG-2和DVD文件。(2) 實驗?zāi)繕?biāo):掌握MPEG-2的基本音視頻解碼方法,了解常用的MPEG-2和DVD文件格式。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)MPEG-2和DVD的音視頻解碼和同步播放??梢詤⒖既舾勺杂稍创a。19(大作業(yè)選題)H.264/AVC(1) 實驗題目:播放采用H.264/AVC編碼的視頻文件。(2) 實驗?zāi)繕?biāo):掌握H.264/AVC(先進(jìn)頻編碼)的基本視頻解碼方法,了解常用的H.264/AVC文件格式。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)H.264/AVC解碼算
32、法,播放視頻數(shù)據(jù)??梢詤⒖既舾勺杂稍创a。20(大作業(yè)選題)AVS-P2(1) 實驗題目:播放采用AVS-P2編碼的視頻文件。(2) 實驗?zāi)繕?biāo):掌握AVS-P2(音視頻編碼標(biāo)準(zhǔn)-第2部分)的基本視頻解碼方法,了解常用的AVS-P2文件格式。(3) 實驗要求:編寫MFC應(yīng)用程序,實現(xiàn)AVS-P2解碼算法,播放視頻數(shù)據(jù)??梢詤⒖既舾勺杂稍创a。21(必做平時作業(yè))MediaPlayer(1)實驗名稱:媒體播放器。(2)實驗背景:微軟在Windows中提供了媒體播放器組件(Media Player ActiveX控件),可支持大多數(shù)標(biāo)準(zhǔn)格式(如AVI、ASF、MPEG、WAV、MIDI、MP3、WM
33、A等)的流式媒體文件的播放。(3)實驗?zāi)康模簩W(xué)習(xí)ActiveX控件的使用方法,掌握媒體播放器組件的常用函數(shù)。(4)實驗內(nèi)容:利用ActiveX控件,實現(xiàn)媒體播放器。(5)實驗步驟:創(chuàng)建一個基于對話框的MFC應(yīng)用程序,添加Windows Media Player控件和“裝入”按鈕。在“裝入”按鈕的響應(yīng)函數(shù)中,打開公用文件對話框,獲取用戶所選媒體文件的完整路徑串,用該串調(diào)用ActiveX控件對象的成員函數(shù)put_URL,將指定的媒體文件傳遞到播放器。參見下圖:媒體播放器(6)其他實驗條件:若干流式媒體文件。22(選做平時作業(yè))GB2312(1)實驗名稱:用VC生成GB2312編碼網(wǎng)頁。(2)實驗背
34、景:GB2312是我國最早的漢字編碼標(biāo)準(zhǔn),歷史悠久、使用廣泛。采用高位為1的雙字節(jié)編碼,分成94個區(qū)(其中的第1015和8894區(qū)為空白區(qū)),每個區(qū)有94個漢字或其他字符。由于JavaScript不直接支持GB2312編碼的生成,所以需用C+等高級語言編程工具。(3)實驗?zāi)康模菏煜B2312的編碼方案,掌握HTML常用標(biāo)簽尤其是表格標(biāo)簽。(4)實驗內(nèi)容:使用VC編寫一個程序,自動生成一個用表格分區(qū)顯示GB2312編碼網(wǎng)頁的HTML文件(不顯示空白區(qū)),瀏覽器的輸出如下圖所示:GB2312網(wǎng)頁 (5)實驗步驟:創(chuàng)建一個單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項彈出的“打開”對話框
35、獲取用戶選擇的HTML文件的完整路徑名串。在文檔類的序列化函數(shù)中,利用CArchive類的WriteString輸出各種標(biāo)簽字符串,用ar c1 c2;語句輸出漢字編碼(其中的ci為BYTE變量),生成GB2312網(wǎng)頁的HTML文件。 (6)其他實驗條件:GB2312編碼方案,IE等網(wǎng)頁瀏覽器。23(選做平時作業(yè))CJK(1)實驗名稱:用JavaScript生成CJK編碼網(wǎng)頁。(2)實驗背景:CJK(中日韓)是Unicode中的統(tǒng)一漢字編碼部分,位于BMP(基本多文種平面)的I區(qū)(4E9F),有20992字符位,含20902個漢字。(3)實驗?zāi)康模毫私釻nicode(BMP)中的CJK編碼方案
36、,熟悉HTML常用標(biāo)簽(尤其是表格標(biāo)簽),掌握J(rèn)avaScript的編程方法(特別是其自定義函數(shù)的定義和使用、文檔對象的寫函數(shù)document.write的使用)。(4)實驗內(nèi)容:編寫用表格自動生成和顯示Unicode字符集中CJK漢字部分的JavaScript腳本網(wǎng)頁,輸出如下圖:CJK網(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)實驗?zāi)康模赫莆認(rèn)avaScript的日期時間對象Date和數(shù)組對象Array基本使用方法,熟悉HTML常用標(biāo)簽(尤其是表單和輸入標(biāo)簽),掌握J(rèn)avaScript的編程方法(特別是其自定義函數(shù)的定義和使用、表單對象中
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年礦物制品及材料批發(fā)服務(wù)合作協(xié)議書
- 建設(shè)工程項目聯(lián)合施工協(xié)議書范本
- 二零二五年度藝術(shù)類合作協(xié)議書:藝術(shù)品投資與收藏合作框架
- 二零二五年度自費留學(xué)國際志愿者項目合作合同
- 2025年度醫(yī)療事故調(diào)解與糾紛預(yù)防合作協(xié)議
- 醫(yī)院合同制人員2025年度工資調(diào)整與職業(yè)成長激勵合同
- 二零二五年度足浴店員工工作績效與獎勵合同
- 人教版地理八年級上冊《第二節(jié) 氣候》聽課評課記錄1
- 二零二五年度酒店住宿消費者返利協(xié)議集
- 2025年度消費者權(quán)益保護(hù)糾紛合同范本
- GB/T 18344-2016汽車維護(hù)、檢測、診斷技術(shù)規(guī)范
- 青島版科學(xué)(2017)六三制六年級下冊第2單元《生物與環(huán)境》全單元課件
- 2022-2023年人教版九年級物理上冊期末考試(真題)
- 關(guān)漢卿的生平與創(chuàng)作
- 一年級語文教材解讀分析ppt
- 編本八年級下全冊古詩詞原文及翻譯
- 公共政策學(xué)政策分析的理論方法和技術(shù)課件
- 裝載機(jī)教材課件
- 萬人計劃藍(lán)色簡約萬人計劃青年拔尖人才答辯PPT模板
- 統(tǒng)編高中《思想政治》教材編寫理念和內(nèi)容介紹
- 2022年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試卷 新高考Ⅰ卷(含解析)
評論
0/150
提交評論