




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
成績(jī) 南京工程學(xué)院多媒體編程基礎(chǔ)課程綜合作業(yè)說(shuō)明書題 目 (根據(jù)自己設(shè)計(jì)的軟件特色定題) 班 級(jí) 學(xué) 生 姓 名 學(xué) 號(hào) 2011 年 10 月 28 日注:本周五(10月28日)檢查綜合作業(yè)程序完成進(jìn)度,打初步印象分;綜合作業(yè)報(bào)告最遲11月9日上交 (包括源代碼和作業(yè)電子稿、打印稿)。提交文件格式 : 202060236_楊文龍_多媒體081.rar實(shí)驗(yàn)報(bào)告5如果來(lái)不及也可以推遲到11月9日上交如有特殊情況由班長(zhǎng)和我聯(lián)系。一、 程序功能與設(shè)計(jì)思路設(shè)計(jì)目標(biāo)具有的功能 (必須含有文字處理、繪圖、圖像、音頻視頻四部分內(nèi)容各3種以上功能,界面及應(yīng)用方法自己根據(jù)軟件的特色綜合考慮,每位同學(xué)必須自己設(shè)計(jì)一個(gè)標(biāo)志,放在窗口界面上,最好是帶動(dòng)畫效果)界面效果圖框架結(jié)構(gòu)圖等=格式及內(nèi)容的示例(注意文本、圖、表格的格式):=1.1 WMPlayer媒體播放器程序?qū)崿F(xiàn)功能說(shuō)明如下: 按路徑選擇播放媒體文件,可以支持MP3、WMA、WMV、AVI、RM、RMVB、FLV、MP4等格式。 將媒體文件加入菜單中下拉列表框。 在列表中隨意選擇要播放的媒體文件。 控制媒體文件的播放、暫停、停止。 指定播放當(dāng)前文件的上一個(gè)或下一個(gè)媒體文件。 在播放時(shí),可以獲取并顯示當(dāng)前播放媒體的文件信息。程序運(yùn)行界面如圖5_1所示。(1) 新添四個(gè)圖標(biāo)資源,通過(guò)圖像設(shè)備選擇對(duì)話框,選擇16*16作為圖標(biāo)的設(shè)備類型。圖標(biāo)ID號(hào)分別默認(rèn)IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4.(2)用圖形編輯器繪制標(biāo)vc+.(3)為CMainFram類添加一個(gè)成員函數(shù)ChangeIcon,用來(lái)切換應(yīng)用程序的圖標(biāo)。該函數(shù)代碼如下:void CMainFrame:ChangeIcon(UINT nIconID)HICON hIconNew=AfxGetApp()-LoadIcon(nIconID);HICON hIconOld=(HICON)GetClassLong(m_hWnd,GCL_HICON);if(hIconNew!=hIconOld)DestroyIcon(hIconOld);SetClassLong(m_hWnd,GCL_HICON,(long)hIconNew);RedrawWindow();(4)在CMainFrame:OnCreate函數(shù)的最后添加計(jì)時(shí)器設(shè)置代碼:SetTimer(1,500,NULL);(5)給CMainFrame類添加WM_TIMER的消息映射函數(shù),并添加代碼:void CMainFrame:OnTimer(UINT_PTR nIDEvent)static int icons=IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4;static int index=0;ChangeIcon(iconsindex);index+;if(index3)index=0;/ TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值CFrameWnd:OnTimer(nIDEvent);(6)在CMainFrame類添加WM_DESTROY的消息映射函數(shù),并添加下列代碼void CMainFrame:OnDestroy()CFrameWnd:OnDestroy(); KillTimer(1);圖1_1 WMPlayer媒體播放器運(yùn)行界面1.2 WMPlayer媒體播放器的設(shè)計(jì)思路:首先創(chuàng)建一個(gè)基于CLR的Windows窗體應(yīng)用程序,接下來(lái)在窗體中添加一個(gè)AxWindowsMediaPlayer控件,然后利用控件的屬性和方法實(shí)現(xiàn)媒體的播放和控制操作;此外,還要添加菜單欄用于打開文件、添加播放列表、選擇播放文件、控制播放以及退出應(yīng)用程序等操作;添加狀態(tài)欄用于顯示媒體的標(biāo)題和文件類型信息。其功能結(jié)構(gòu)如圖5_2所示。 圖1_2 WMPlayer功能結(jié)構(gòu)圖面二、 相關(guān)原理知識(shí)介紹 所應(yīng)用到的知識(shí)點(diǎn)介紹,如:文字處理函數(shù),GDI+函數(shù)等=格式及內(nèi)容的示例(注意文本、圖、表格的格式,尤其圖表的編號(hào)和代碼的格式):= 文字處理我們?cè)谑褂酶鞣N軟件的時(shí)候,都要涉及到文字的處理,其中就包括要選擇使用不同的字體,因此,需要重點(diǎn)了解字體的含義、原理、以及如何使用這些字體,并創(chuàng)建符合自己要求的字體。Windows使用了兩種主要字體:一種是等寬字體,一種是可變寬字體。同時(shí)Windows又定義了三種不同類型的字體:光柵字體(點(diǎn)陣圖字體)、矢量字體(由一連串線段構(gòu)成的字體)、TrueType字體(用線條和樣條曲線來(lái)定義字體輪廓的字體),其中TrueType字體可以進(jìn)行任何限度的縮放,而字體卻仍然保持良好的質(zhì)量。無(wú)論哪種字體,Windows都是使用TEXTMERIC和LOGFONT兩個(gè)結(jié)構(gòu)來(lái)進(jìn)行描述的。我們通過(guò)這兩個(gè)結(jié)構(gòu)來(lái)獲得字體信息,自定義我們需要的字體。 在三種形式的成員函數(shù)中:Drawing-Attribute Function(如:DetTextColor GetTextColor等)Text FunctionFont FunctionGDI對(duì)象對(duì)字體的支持為了能夠繪制各種類型的文本、圖形圖象信息,Windows操作系統(tǒng)提供了6個(gè)GDI對(duì)象,分別為字體、位圖、畫刷、調(diào)色板、畫筆和區(qū)域。在MFC類庫(kù)中,分別對(duì)應(yīng)于CFont、CBitmap、CBrush、CPalette、CPen和CRgn類。下面以使用CFont類為例介紹如何使用GDI對(duì)象。CFont類用于描述文本的字體信息,下面的示例將指定字體格式的文本輸出到窗口中。多媒體動(dòng)畫及視頻,音頻計(jì)算機(jī)動(dòng)畫顯示是利用人眼的視覺暫留特征。如果不斷在平米上顯示內(nèi)容接近的圖片或圖形,事件錯(cuò)覺,會(huì)使人感到這些圖片中的圖形是活動(dòng)的,所播放的圖片速度不能低于24張,否則人眼對(duì)動(dòng)畫感覺調(diào)用就不會(huì)那么連貫。應(yīng)用程序通過(guò)SetTimer()函數(shù)來(lái)完成對(duì)新的定時(shí)器的申請(qǐng)?jiān)O(shè)置,這個(gè)函數(shù)的原型如下:CWnd:SetTimer(UINT nIDEvent,UINT nElapse,Void(CALLBACK*lpfnTimer)(HWND,UINT,UINT,DWORD);參數(shù)說(shuō)明:nIDEvent:指定一個(gè)非0的定時(shí)器標(biāo)示符。 nElapse: 以毫秒知識(shí)限時(shí)值。 lpfnTimer:指示處理WM_TIMER消息的程序提供的TimerProc回調(diào)函數(shù)的地址為NULL,則消息放到程序隊(duì)列中由該CWindow對(duì)象處理。返回值:成功則返回定時(shí)值的標(biāo)示符,否則返回0當(dāng)不需要定時(shí)器時(shí),可以調(diào)用KillTimer()函數(shù)來(lái)停止傳送WM_TIMER消息,其函數(shù)原型如下:CWnd:KillTimer(UINT nIDEven);當(dāng)定時(shí)器用盡時(shí),在調(diào)用KillTimer()函數(shù)時(shí),返回NULL,表示無(wú)可用。正場(chǎng)調(diào)用時(shí),返回值部位0。加載應(yīng)用程序Wave資源若程序中需要播放較小的wav文件,可以講wav文件加載為應(yīng)用程序的資源。程序可直接使用wav資源文件就可以了。為了播放wav資源,需要使用系統(tǒng)提供的PlaySound函數(shù),不僅可以播放wav資源,還可以播放wav文件。格式如下:BOOLPlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound):參數(shù)說(shuō)明:pszSound:表示播放聲音的字符串,可以是表示資源的字符串,也可以是表示wav文件的字符串,最大長(zhǎng)度256個(gè)字符,包括終止符。Hmod:表示包含wav資源的可執(zhí)行文件句柄。fdwSound:表示聲音的播放標(biāo)記。雖然可使用PlaySound函數(shù)播放wav文件,但是音頻必須完全載入物理內(nèi)存,音頻文件較大,則不適合使用,此時(shí)課使用mciSendCommand函數(shù)來(lái)取代PlaySound函數(shù)實(shí)現(xiàn)wav文件的播放。函數(shù)語(yǔ)法如下:MCIERROR mciSendCommand(MCIDEVICEND IDDevice,UINT nMSG, DWORD fdwCommand,DWORD_PTR dwParam);參數(shù)說(shuō)明:IDDevice:表示接收消息的MCI設(shè)備標(biāo)示符。uMsg:表示命令消息。繪圖知識(shí)圖形是由點(diǎn)和線構(gòu)成的,設(shè)備環(huán)境CDC類提供了多個(gè)方法繪制線條。1)MoveTo 該方法用于移動(dòng)當(dāng)前的坐標(biāo)點(diǎn)到指定的位置上。 CPoint MoveTo( int x, int y ); 參數(shù)說(shuō)明:x:表示當(dāng)前位置的x軸坐標(biāo)。 y:表示當(dāng)前位置的y軸坐標(biāo)。2)LineTo 該方法用于從當(dāng)前坐標(biāo)點(diǎn)繪制一條直線到參數(shù)指定的位置。 BOOL LineTo( int x, int y ); 參數(shù)說(shuō)明: x:表示直線終點(diǎn)的x軸坐標(biāo)。 y:表示直線終點(diǎn)的y軸坐標(biāo)。畫筆是Windows應(yīng)用程序中用來(lái)繪制各種直線和曲線的一種圖形工具,它可分為修飾畫筆和幾何畫筆兩種類型。在這兩種類型中,幾何畫筆的定義最復(fù)雜,它不但有修飾畫筆的屬性,而且還跟畫刷的樣式、陰影線類型有關(guān),通常用在對(duì)繪圖有較高要求的場(chǎng)合。而修飾畫筆只有簡(jiǎn)單的幾種屬性,通常用在簡(jiǎn)單的直線和曲線等場(chǎng)合。一個(gè)修飾畫筆通常具有寬度、風(fēng)格和顏色三種屬性。畫筆的寬度用來(lái)確定所畫的線條寬度,它是用設(shè)備單位表示的。默認(rèn)的畫筆寬度是一個(gè)像素單位。畫筆的顏色確定了所畫的線條顏色。畫筆的風(fēng)格確定了所繪圖形的線型,它通常有實(shí)線、虛線、點(diǎn)線、點(diǎn)劃線、雙點(diǎn)劃線、不可見線和內(nèi)框線等七種風(fēng)格。 三個(gè)重載的構(gòu)造函數(shù)CPen( );CPen( int nPenStyle, int nWidth, COLORREF crColor );CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );圖像處理技巧在Windows的畫圖程序中,打開“編輯顏色”窗口時(shí),當(dāng)鼠標(biāo)在顏色區(qū)域移動(dòng)時(shí),右方的顯示區(qū)域和下方的編輯框中會(huì)顯示相應(yīng)的顏色和顏色值。本例實(shí)現(xiàn)該功能。技術(shù)要點(diǎn):獲取某一點(diǎn)的顏色只要得到當(dāng)前鼠標(biāo)的設(shè)備環(huán)境CDC類對(duì)象即可,因?yàn)檎{(diào)用CDC類的GetPixel方法可獲取某一點(diǎn)的顏色值。VC提供了三個(gè)宏,用于獲取某一顏色的紅、綠、藍(lán)三基色。1)GetRValue宏 該宏用于獲取指定顏色的紅顏色值2)GetGValue宏 該宏用于獲取指定顏色的綠顏色值3)GetBValue宏 該宏用于獲取指定顏色的藍(lán)顏色值BYTE GetRValue(DWORD rgb );rgb標(biāo)識(shí)一個(gè)顏色值。 返回值:指定顏色的紅色值。BYTE GetGValue(DWORD rgb );rgb標(biāo)識(shí)一個(gè)顏色值。 返回值:指定顏色的綠色值。 rgb標(biāo)識(shí)一個(gè)顏色值。 返回值:指定顏色的藍(lán)色值。Windows API 函數(shù)。 函數(shù)原型:HWND ChildWindowFromPoint (HWND hWnd, LONG xPoint, LONG yPoint); 函數(shù)功能:返回父窗口中包含了指定點(diǎn)的第一個(gè)子窗口的句柄。 函數(shù)參數(shù):hWnd 父窗口的句柄 xPoint 點(diǎn)的X坐標(biāo),以像素為單位 yPoint 點(diǎn)的Y坐標(biāo),以像素為單位 返回值:發(fā)現(xiàn)包含了指定點(diǎn)的第一個(gè)子窗口的句柄。如未發(fā)現(xiàn)任何窗口,則返回hWnd函數(shù)功能:該函數(shù)把相對(duì)于一個(gè)窗口的坐標(biāo)空間的一組點(diǎn)映射成相對(duì)于另一窗口的坐標(biāo)空間的一組點(diǎn)。 函數(shù)原型:int MapWindowPoints(HWND hWndFrom, HWND hWndTo,LPPOINT lpPoints, UINT cPoints); 參數(shù):hWndfrom:轉(zhuǎn)換點(diǎn)所在窗口的句柄,如果此參數(shù)為NULL或HWND_DESKTOP則假定這些點(diǎn)在屏幕坐標(biāo)上。 hWndTo:轉(zhuǎn)換到的窗口的句柄,如果此參數(shù)為NULL或HWND_DESKTOP,這些點(diǎn)被轉(zhuǎn)換為屏幕坐標(biāo)。 lpPoints:指向POINT結(jié)構(gòu)數(shù)組的指針,此結(jié)構(gòu)數(shù)組包含要轉(zhuǎn)換的點(diǎn),此參數(shù)也可指向RECT結(jié)構(gòu),在此情況下,Cpoints參數(shù)應(yīng)設(shè)置為2。 cPoints:指定LpPoints參數(shù)指向的數(shù)組中POINT結(jié)構(gòu)的數(shù)目。 返回值:如果函數(shù)調(diào)用成功,返回值的低位字是每一個(gè)源點(diǎn)的水平坐標(biāo)的像素?cái)?shù)目,以便計(jì)算每個(gè)目標(biāo)點(diǎn)的水平坐標(biāo);高位字是每一個(gè)源點(diǎn)的垂直坐標(biāo)的像素的數(shù)目,以便計(jì)算每個(gè)目標(biāo)點(diǎn)的垂直坐標(biāo),如果函數(shù)調(diào)用失敗,返回值為零。 (父窗口的句柄)。如指定點(diǎn)位于父窗口外部,則返回零。三、 設(shè)計(jì)方法 即步驟 界面設(shè)計(jì) 各功能模塊設(shè)計(jì) 寫出操作步驟和代碼,以及必要的環(huán)境配置和流程圖 (批改的方法很簡(jiǎn)單,找?guī)讉€(gè)低年級(jí)同學(xué)按你描述的步驟做,看是否可以做出來(lái),另外檢查有無(wú)雷同和相互抄襲現(xiàn)象)= =格式及內(nèi)容的示例(注意文本、圖、表格的格式):=案例具體的設(shè)計(jì)過(guò)程如下:1)啟動(dòng)Visual C+ 2008開發(fā)環(huán)境,在菜單中選擇“文件”“新建”“項(xiàng)目”,彈出“新建項(xiàng)目”對(duì)話框;在對(duì)話框的左側(cè)“項(xiàng)目類型”選項(xiàng)中選擇CLR,在右側(cè)顯示的已安裝應(yīng)用程序項(xiàng)目模板中選擇“Windows窗體應(yīng)用程序”,輸入媒體播放器項(xiàng)目名稱“WMPlayer”,選擇好合適的程序文件存放路徑,點(diǎn)“確定”按鈕完成,如圖3-1所示。圖3-1 創(chuàng)建多媒體播放器項(xiàng)目2)調(diào)整窗體至大小合適,在窗體“Text”屬性中寫入“Windows媒體播放器”,然后添加Menustrip1菜單條控件,并在菜單中添加toolStripComboBox下拉列表框控件。操作方法如圖5-7所示,先點(diǎn)擊菜單設(shè)計(jì)方框中的下拉按鈕,可以看到MenuItem、ComboBox和TextBox三個(gè)選項(xiàng),然后選擇“ComboBox”,這樣就可以在菜單中嵌入一個(gè)下拉列表框。圖3-2 添加toolStripComboBox下拉列表框控件菜單設(shè)計(jì)完成后的具體內(nèi)容如表3_1所示。表3_1 WMPlayer菜單設(shè)計(jì)菜 單 菜 單 項(xiàng) 文件 (&F)打開(&O) 作用:顯示文件對(duì)話框,選擇要播放的媒體文件退出(&E) 作用:退出媒體播放器程序控制 (&C)播放 作用:控制媒體播放器“播放”操作停止 作用:控制媒體播放器“停止”操作暫停 作用:控制媒體播放器“暫停”操作上一個(gè) 作用:播放前面一個(gè)媒體下一個(gè) 作用:播放后面一個(gè)媒體下拉列表框作用: 顯示播放列表3)添加一個(gè)statusStrip狀態(tài)欄控件,用于顯示當(dāng)前播放的媒體信息。在狀態(tài)欄控件中創(chuàng)建狀態(tài)5個(gè)標(biāo)簽toolStripStatusLabel1至toolStripStatusLabel5,它們的作用如表3_2所示。表3_1 狀態(tài)欄中toolStripStatusLabel標(biāo)簽的用途標(biāo) 簽 名 稱 用 途 toolStripStatusLabel1作用:顯示文字“正在播放”toolStripStatusLabel2作用:顯示當(dāng)前在播放的媒體名稱toolStripStatusLabel3作用:顯示分隔豎線|toolStripStatusLabel4作用:顯示文字“媒體類型”toolStripStatusLabel5作用:顯示當(dāng)前在播放的媒體文件類型4)按5.2.1節(jié)中所述方法添加AxWindowsMediaPlayer控件,并將控件的Dock屬性設(shè)置為“Fill”。5)添加openFileDialog控件,Name屬性為“OpenMediaFile”。應(yīng)用程序窗體和所有控件的屬性設(shè)置如表3_2所示。表3_2 窗體及控件的屬性設(shè)置控件類型控件名稱屬 性設(shè) 置FormForm1TextWindows媒體播放器BackColorAliceBlueWindows Media PlayerAxWindowsMediaPlayer 1DockFillOpenFileDialogOpenFileDialog1NameOpenMediaFile7)在Form1.h中添加以下數(shù)組和全局變量,用于保存播放列表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武裝直升機(jī)購(gòu)買合同協(xié)議
- 商務(wù)用酒合同協(xié)議
- 正規(guī)地?cái)偨?jīng)濟(jì)合同協(xié)議
- 含稅銷售合同協(xié)議
- 商標(biāo)代理公司合同協(xié)議
- 商業(yè)秘密協(xié)議英文合同
- 商場(chǎng)店面轉(zhuǎn)兌合同協(xié)議
- 商場(chǎng)和餐飲商家合同協(xié)議
- 德國(guó)租車位合同協(xié)議
- 商業(yè)產(chǎn)品買賣合同協(xié)議
- 2024年山東青島初中學(xué)業(yè)水平考試地理試卷真題(含答案詳解)
- 會(huì)計(jì)記賬服務(wù)合同
- 《高血壓科普知識(shí)》課件
- 鋼板樁圍堰施工專項(xiàng)方案
- 少先隊(duì)輔導(dǎo)員技能大賽考試題庫(kù)300題(含答案)
- 2024年山東青島第三十九中學(xué)化學(xué)自招試卷試題(含答案詳解)
- 《埋地塑料排水管道工程技術(shù)規(guī)程》CJJ143-2010
- DL∕ T 802.7-2010 電力電纜用導(dǎo)管技術(shù)條件 第7部分:非開挖用改性聚丙烯塑料電纜導(dǎo)管
- (正式版)CB∕T 4557-2024 船舶行業(yè)企業(yè)勞動(dòng)防護(hù)用品配備要求
- 年度采購(gòu)合同框架協(xié)議
- 中藥藥理學(xué)實(shí)驗(yàn)講義2
評(píng)論
0/150
提交評(píng)論