版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄 0引言3 (設(shè)計(jì)標(biāo)題) 多媒體播放器 用戶簽名: 開發(fā)成員:孟凡林 開發(fā)時(shí)間:2010 12-23 1 工作計(jì)劃 3 1.1 主要工作階段劃分 3 1.2 工作任務(wù)分工 4 2 需求分析 4 2.1 概述 4 2.2 用戶分析 4 2.3 約束條件 4 2.4 功能需求 4 2.5 用戶界面需求 5 3 設(shè)計(jì)與實(shí)現(xiàn) 5 3.1 概述 5 3.2 詳細(xì)設(shè)計(jì) 5 3.1.1 類的抽象及設(shè)計(jì) 5 3.3 主要程序文件 6 3.4 開發(fā)環(huán)境以及部署環(huán)境要求 6 3.5 主要源碼 7 4 測試 10 4.1 概述 10 4.2 測試環(huán)境 10 4.3測試計(jì)劃10 4.4測試工程及結(jié)果10 5、工作
2、總結(jié)11 5.1工作成果11 5.2過程分析12 5.3經(jīng)驗(yàn)教訓(xùn)及其分析12 0引言 現(xiàn)在人們娛樂的方式多種多樣,已經(jīng)有了很明顯的變化,以前的戶外運(yùn)動(dòng)現(xiàn)在已經(jīng)在銳 減,換而之的是網(wǎng)絡(luò)游戲與網(wǎng)上聊天,而在同時(shí)聽聽音樂看看電影也成為了巨大的需求, 所以很多多媒體播放軟件出現(xiàn)了,形形色色各種都有,而我也趕下時(shí)髦,體驗(yàn)一下編寫的 過程,現(xiàn)在才發(fā)現(xiàn)這并不難,重要的是插件的插入,而其他的功能實(shí)現(xiàn)只需調(diào)用相應(yīng)函數(shù) 就行了! 1工作計(jì)劃 1.1主要工作階段劃分 12 月 2021 搜索相關(guān)資料,學(xué)習(xí)基礎(chǔ)知識(shí),大致設(shè)計(jì)框架 12 月 2223 考慮所用到的數(shù)據(jù)結(jié)構(gòu),函數(shù)及其作用,做較為細(xì)致的分析 12月24日
3、設(shè)計(jì)開始,仔細(xì)設(shè)計(jì)! 12 月 26 寫報(bào)告 (用表格或圖表的形式列出你們小組各個(gè)階段的時(shí)間進(jìn)度大致安排) 1.2工作任務(wù)分工 階段名稱 任務(wù)名稱 任務(wù)描述 負(fù)責(zé)人 協(xié)助人 1234 全部 編寫軟件 孟凡林 孟凡林 2需求分析 2.1概述 1)到網(wǎng)上或圖書館查找相關(guān)系統(tǒng)函數(shù)實(shí)現(xiàn)相應(yīng)的功能; 2)使用MFC構(gòu)建相應(yīng)的用戶界面 2.2用戶分析 1)要求有穩(wěn)定的性能,可實(shí)現(xiàn)要求的功能; 2)擁有較好的界面,很方便人操作! 2.3約束條件 (作為開發(fā)人員的,通常你的小組的工作時(shí)間和人員是一個(gè)明顯約束;另外站在用戶的角 度,他們對(duì)你有什么約束要求,請(qǐng)從這兩個(gè)角度進(jìn)行陳述。) 2.4功能需求 能夠打開文件
4、放進(jìn)播放列表,點(diǎn)擊播放鍵使其播放,暫停鍵暫停,停止鍵停止,重播鍵重 新播放,全屏鍵全屏播放,退出鍵退出程序,增大鍵增大音量,減小鍵減小音量! 2.5用戶界面需求 軸W 暫傳 悟止 關(guān)閉 打開 退出 g音里育t重曆 3設(shè)計(jì)與實(shí)現(xiàn) 3.1概述 使用MFC構(gòu)建相應(yīng)的用戶界面,實(shí)現(xiàn)相應(yīng)的功能 能夠打開文件放進(jìn)播放列表,點(diǎn) 擊播放鍵使其播放,暫停鍵暫停,停止鍵停止,重播鍵重新播放,全屏鍵全屏播放,退出 鍵退出程序,增大鍵增大音量,減小鍵減小音量,然后向其中加入各個(gè)函數(shù)實(shí)現(xiàn)相應(yīng)的功 3.2詳細(xì)設(shè)計(jì) 3.1.1類的抽象及設(shè)計(jì) 1)控件active movie3類,主要用來播放各種類型的文件,其封裝的各種成員
5、函數(shù)使其成為 MFC設(shè)計(jì)播放器必不可少的控件類; 2)對(duì)話框基類eDig類,及其派生類: (a)控件repeatbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)再次播 放打開的文件。 (b)控件copenbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)提供資源 管理器供用戶選擇文件; (c)控件playbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)播放打開 的文件; (d)控件pausebtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)暫停播 放打開的文件; (e)控件lowerbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)減小播
6、放音量; (f)控件upperbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)增大播 放音量 (g)控件stopbtn類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)停止播放 打開的文件; (h)控件fullscreen類,作為播放器打開文件的消息響應(yīng)媒介,能夠做到被點(diǎn)擊時(shí)全屏播放 打開的文件; 至于其他的,當(dāng)我們使用 MFC 編程時(shí),會(huì)有很多封裝的類供我們使用,所以就不一一列 舉了! 3.3 主要程序文件 1)頭文件(為類加入相應(yīng)的標(biāo)準(zhǔn)流,庫): Activemovie3.h 控件; stdafx.h 框架構(gòu)成; 多媒體 .h多媒體的應(yīng)用; 多媒體 Dlg.h 對(duì)話框; r
7、esourse.h為多媒體 .rc 服務(wù)! 2)源文件(完成各種類的定義與實(shí)現(xiàn)): Activemovie3.cpp 控件; stdafx.cpp 框架構(gòu)成; 多媒體 .cpp多媒體的應(yīng)用; 多媒體 Dlg.cpp 對(duì)話框; 多媒體 .rc 運(yùn)行過的效果! 3.4 開發(fā)環(huán)境以及部署環(huán)境要求 1) Vs2010。 2) 3.5 主要源碼 1)打開文件 void CMyDlg:OnOpenButton() / TODO: Add your control notification handler code here File(*.mp3)|*.mp3| 。 peg)|*.mpg 。 *.mpeg|
8、 。 CString strFilter =Mp3 += MPEG File(*.mpg 。 *.m += Wave File(*.wav)|*.wav| += AVI File(*.avi)|*.avi| += All File(*.*)|*.*| strFilter strFilter strFilter strFilter 。 / 過濾適當(dāng)?shù)奈募仨氁?0區(qū)分,以 00結(jié)束 , 否則會(huì) 出現(xiàn)參數(shù)不正確 CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT
9、,strFilter,this )。/ 為CFileDialog 定義對(duì)象 DWORD MAXFILE = 2412 。 / 分配足夠空間 / 設(shè)置 buffer 的大小 dlgOpen.m_ofn.nMaxFile = MAXFILE CString strFileName 。 char* buf = newcharMAXFILE dlgOpen.m_ofn.lpstrFile = buf 。 dlgOpen.m_ofn.lpstrFile0 = NULL if (IDOK = dlgOpen.DoModal() / 分配空間 。 / 賦值 POSITION pos = dlgOpen.Ge
10、tStartPosition() while (pos != NULL) strFileName = dlgOpen.GetNextPathName(pos) / 獲取獨(dú)立文件名 m_list1.InsertString(m_list1.GetCount(),strFileName) 。 / 加至播放列表 delete buf 。/ 釋放空間 2)播放文件 void CMyDlg:OnPlayButton() / TODO: Add your control notification handler code here m_ActiveMovie.Run() 。 / 播放文件 SetTimer
11、(0,20,NULL) 。 / 設(shè)置定時(shí)器 3)暫停播放 void CMyDlg:OnPauseButton() / TODO: Add your control notification handler code here m_ActiveMovie.Pause() 。 4停止播放 void CMyDlg:OnStopButton() / TODO: Add your control notification handler code here m_ActiveMovie.Stop() 。 / 停止播放文件 KillTimer(0) 。/ 關(guān)掉定時(shí)器 5重復(fù)播放 void CMyDlg:On
12、ReapetButton() / TODO: Add your control notification handler code here if (!isRepeat) isRepeat=TRUE。 SetDlgItemText(IDC_STATIC2, Status:Repeat ) else isRepeat=FALSE。 SetDlgItemText(IDC_STATIC2, Status:Normal ) 。 6增大聲音 void CMyDlg:OnUpperButton() / TODO: Add your control notification handler code her
13、e long Volume=m_ActiveMovie.GetVolume() 。 m_ActiveMovie.Pause() 。 m_ActiveMovie.SetVolume(Volume+100) 。 m_ActiveMovie.Run() 。 7減小聲音 void CMyDlg:OnLowerButton() / TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume() 。 m_ActiveMovie.Pause() 。 m_ActiveMovie.SetVol
14、ume(Volume-100) 。 m_ActiveMovie.Run() 。 8全屏播放 void CMyDlg:OnFullButton() / TODO: Add your control notification handler code here m_ActiveMovie.Pause() 。 m_ActiveMovie.SetFullScreenMode( true ) 。 m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED。) m_ActiveMovie.Run() 。 9關(guān)閉窗口 void CMyDlg:OnCloseButton
15、() / TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow() 。 2 10退出 void CMyDlg:OnClickedExitButton() / TODO: Add your control notification handler code here PostQuitMessage(0) 。 / 。 4測試 4.1概述 1)打開文件(從曲庫中找出歌曲加入列表中) 2)播放,暫停,停止,全屏顯示,停止,重播( active movie實(shí)現(xiàn)功能) 4.2測試環(huán)境 1) 東乏Sat
16、ellite L600筆記本電腦 Windows 7 家庭譽(yù)通版(32/DirectX 11) 硬件 型器: 內(nèi)存: 主瘋蠱: 顯卡: 癥: 網(wǎng)卡: 英持爾Core i5 M 430 2.27GHz雙核筆記本處理器 英持爾 Base Board Version (英特爾 HM55 Express 芯片組 2 GB (三星 DDR3 1067MHz 日立 HTS545032B9A300 ( 320 GB ) ATI Mobilrty Radeon HD 5145 (M92J 512 MB / 東芝) 三星 SEC3741 (116 東芝三星CDDVDW TS633C DVD刻錄機(jī) Conexan
17、t SmartAudio HD 頼詢 5 Series/3400 Series Chipset 育“, 飪頓 AR8152 PCI-E Fast Ethernet Controller / 樂芝 2) VS2010 4.3測試計(jì)劃 1)打開文件 2)播放及各種鍵的使用 3)多次運(yùn)行,檢查穩(wěn)定性 4.4測試工程及結(jié)果 1)打開文件 5S密媒偉 I H 58打幵 計(jì)算機(jī)新加卷化) KwDcwnlcad卜 咅樂 二庫 only love脛典英宜 SuperJ uniorM Me,. 3 1-計(jì)算機(jī) Su perJ unio rMMe. 3 S3A8761DOOS (C:) t.r.y -不是因?yàn)榫汀?/p>
18、 .新如卷(E:) 阿木-有一種SO-,. A新如卷(F:) 阿屋蔭了, mp3 g 愛不單行守志樣曲”, 羞樂團(tuán)-天涯.mpm 4網(wǎng)絡(luò) 安靜.mp3 - flv awav - 14 宙織”新建文件夾 53塞媒體 E: KwD ownl oa ds ong.SuperJ uni orlfl E: KwD ownl oa ds ong T 草行羅芝 暫停 停止 關(guān)閉打幵 退出 全屏 重播 2) 5、工作總結(jié) 5.1工作成果 工作成果不是很明顯,因?yàn)槲易宰髯允埽惯\(yùn)連連讓我亂了陣腳,最后的一個(gè)大悲劇直接 把我將死了!我沒有編寫出來一個(gè)成功的程序,以失敗告終!我完了,Oh,myGod! 5.2 過程
19、分析 唉!因?yàn)樽约貉酃獠粔蛎翡J,沒有選擇正確的題目,一開始選擇了郵件收發(fā)程序,當(dāng) 框架做好以后,開始實(shí)現(xiàn)各種功能了,才發(fā)現(xiàn)自己并不明白 MAPI 是怎么一回事,到處查 也不是很會(huì)用,協(xié)議更沒搞清楚,而且也不知道應(yīng)該調(diào)用哪個(gè)系統(tǒng)函數(shù)來實(shí)現(xiàn)附件的添 加,并且第三步由于協(xié)議問題也沒頭緒,聯(lián)想到上學(xué)期做了好久也沒搞出個(gè)好程序的經(jīng) 驗(yàn),我就果斷放棄了,改做文件編輯,結(jié)果又是因?yàn)楦悴磺逶趺凑{(diào)出資源管理器搞的頭皮 發(fā)麻,最后又是悲劇的放棄了,現(xiàn)在一想都后悔?。∫庵咎粓?jiān)定了,就那么個(gè)小困難就 把我給嚇到了,唉! 折騰了兩天半已經(jīng)是星期三的下午了,眼看期限快到了,我沒辦法,急得要命,沒辦 法,這時(shí)候想起來老師
20、曾經(jīng)說過網(wǎng)上的媒體播放器很多,于是就到網(wǎng)上去搜了一個(gè),結(jié)果 一弄。唉!問題又出來了,我的機(jī)子里沒裝那個(gè) active movie 控件,又搜了一下,找到插 入控件的方法,使用運(yùn)行命令插入了控件,但還是沒有,又一搜,哎呀,真悲劇, 2010 版 中找不到插入那個(gè)控件的方法。怎么辦,怎么辦?可急死我了,最后無奈到機(jī)房插入了那 個(gè)控件,一點(diǎn)一點(diǎn)的加入了各個(gè)按鈕,然后添加上了各種函數(shù),誰知這時(shí)桌面突然顯示, 請(qǐng)輸入用戶名和密碼,咋回事?唉!又悲劇了,錢用完了? Oh,myGod ,不是吧?我還沒保 存那 ! 然后,一翻衣兜,哎,沒錢,怎么辦?沒辦法,第二天,再次走入機(jī)房,這次聰明 了,只弄了個(gè)插件,回
21、到宿舍,因?yàn)楦甙姹究隙芗嫒莸桶姹?,所以繼續(xù)用 2010 版的完善 其它工作,最后大功告成,一運(yùn)行,不行,參數(shù)數(shù)目不對(duì)。這時(shí),我們班回來了一個(gè)人, 說老師在為我們開了一教室 2402,于是我下午就去問老師您,結(jié)果老師您一下子來了句抄 的,一下子把我給弄暈了!哎呀,老師真厲害呀,一眼就看出來了,但是當(dāng)我回來以后又 運(yùn)行還是無效的參數(shù)數(shù)目, 并沒有那個(gè)錯(cuò)誤,還是不行?。∥覐氐谉o奈了,仔細(xì)查找各種可能,但始終解決不了,最 后只得放棄,聽取命運(yùn)的宣判,最后竟然還是讓我找出來錯(cuò)誤在哪,我要崩潰了,不過還 是強(qiáng)忍著回到宿舍,繼續(xù)我的尋錯(cuò)之旅!唉,加油! 哈哈!找到了,原來使用 VS2010之后再用VC+6.0會(huì)出現(xiàn)缺少文件
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《智慧水利》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《外國文學(xué)一》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《化工儀表及自動(dòng)化》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《展示空間設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《汽車?yán)碚摗?023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《工控組態(tài)軟件及應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 管道保溫工程合同協(xié)議書
- 光明租賃合同
- 合同編司法解釋27解讀
- 2024肉類采購合同樣本
- Unit 2 This is my pencil. Lesson 10(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教精通版英語三年級(jí)上冊
- 2024新教科版一年級(jí)科學(xué)上冊第二單元《我們自己》全部課件
- 2024至2030年中國巖土工程市場深度分析及發(fā)展趨勢研究報(bào)告
- 新版高血壓病人的護(hù)理培訓(xùn)課件
- 醫(yī)院等級(jí)創(chuàng)建工作匯報(bào)
- 2024年江西省公務(wù)員錄用考試《行測》題(網(wǎng)友回憶版)(題目及答案解析)
- VDA6.3基礎(chǔ)培訓(xùn)考核測試卷附答案
- 第01講 正數(shù)和負(fù)數(shù)、有理數(shù)-人教版新七年級(jí)《數(shù)學(xué)》暑假自學(xué)提升講義(解析版)
- 信息系統(tǒng)部署與運(yùn)維-題庫帶答案
- 婚姻心理學(xué)解讀包含內(nèi)容
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
評(píng)論
0/150
提交評(píng)論