版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.(設計標題)多媒體播放器用戶簽名: 開發(fā)成員: 孟凡林 開發(fā)時間: 201012-23 目錄0引言31 工作計劃31.1主要工作階段劃分31.2工作任務分工32需求分析32.1概述32.2用戶分析42.3 約束條件42.4功能需求42.5用戶界面需求43設計與實現(xiàn)43.1概述43.2詳細設計53.1.1類的抽象及設計53.3 主要程序文件53.4開發(fā)環(huán)境以及部署環(huán)境要求63.5 主要源碼64 測試104.1概述104.2 測試環(huán)境104.3測試計劃104.4測試項目及結果105、工作總結115.1工作成果115.2過程分析125.3經驗教訓及其分析120引言現(xiàn)在人們娛樂的方式多種多樣,已經有
2、了很明顯的變化,以前的戶外運動現(xiàn)在已經在銳減,換而之的是網(wǎng)絡游戲與網(wǎng)上聊天,而在同時聽聽音樂看看電影也成為了巨大的需求,所以很多多媒體播放軟件出現(xiàn)了,形形色色各種都有,而我也趕下時髦,體驗一下編寫的過程,現(xiàn)在才發(fā)現(xiàn)這并不難,重要的是插件的插入,而其他的功能實現(xiàn)只需調用相應函數(shù)就行了!1 工作計劃1.1主要工作階段劃分12月2021搜索相關資料,學習基礎知識,大致設計框架12月2223考慮所用到的數(shù)據(jù)結構,函數(shù)及其作用,做較為細致的分析12月24日設計開始,仔細設計!12月26寫報告(用表格或圖表的形式列出你們小組各個階段的時間進度大致安排)1.2工作任務分工階段名稱任務名稱任務描述負責人協(xié)助人
3、 1234全部編寫軟件孟凡林孟凡林2需求分析2.1概述1)到網(wǎng)上或圖書館查找相關系統(tǒng)函數(shù)實現(xiàn)相應的功能;2)使用MFC構建相應的用戶界面2.2用戶分析1)要求有穩(wěn)定的性能,可實現(xiàn)要求的功能;2)擁有較好的界面,很方便人操作!2.3 約束條件(作為開發(fā)人員的,通常你的小組的工作時間和人員是一個明顯約束;另外站在用戶的角度,他們對你有什么約束要求,請從這兩個角度進行陳述。)2.4功能需求能夠打開文件放進播放列表,點擊播放鍵使其播放,暫停鍵暫停,停止鍵停止,重播鍵重新播放,全屏鍵全屏播放,退出鍵退出程序,增大鍵增大音量,減小鍵減小音量!2.5用戶界面需求3設計與實現(xiàn)3.1概述使用MFC構建相應的用戶
4、界面,實現(xiàn)相應的功能-能夠打開文件放進播放列表,點擊播放鍵使其播放,暫停鍵暫停,停止鍵停止,重播鍵重新播放,全屏鍵全屏播放,退出鍵退出程序,增大鍵增大音量,減小鍵減小音量,然后向其中加入各個函數(shù)實現(xiàn)相應的功能!3.2詳細設計3.1.1類的抽象及設計1)控件active movie3類,主要用來播放各種類型的文件,其封裝的各種成員函數(shù)使其成為MFC設計播放器必不可少的控件類;2)對話框基類cDlg類,及其派生類:(a)控件repeatbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時再次播放打開的文件;(b)控件copenbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時提供
5、資源管理器供用戶選擇文件;(c)控件playbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時播放打開的文件;(d)控件pausebtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時暫停播放打開的文件;(e)控件lowerbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時減小播放音量;(f)控件upperbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時增大播放音量(g)控件stopbtn類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時停止播放打開的文件;(h)控件fullscreen類,作為播放器打開文件的消息響應媒介,能夠做到被點擊時全屏播放打開
6、的文件;至于其他的,當我們使用MFC編程時,會有很多封裝的類供我們使用,所以就不一一列舉了!3.3 主要程序文件1)頭文件(為類加入相應的標準流,庫):Activemovie3.h-控件;stdafx.h-框架構成;多媒體.h-多媒體的應用;多媒體Dlg.h-對話框;resourse.h-為多媒體.rc服務!2)源文件(完成各種類的定義與實現(xiàn)):Activemovie3.cpp-控件;stdafx.cpp-框架構成;多媒體.cpp-多媒體的應用;多媒體Dlg.cpp-對話框;多媒體.rc-運行過的效果!3.4開發(fā)環(huán)境以及部署環(huán)境要求1)Vs2010;2)3.5 主要源碼1)打開文件void C
7、MyDlg:OnOpenButton() / TODO: Add your control notification handler code hereCString strFilter = "Mp3 File(*.mp3)|*.mp3| " strFilter += "MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg| " strFilter += "Wave File(*.wav)|*.wav| " strFilter += "AVI File(*.avi)|*.avi| " strFi
8、lter += "All File(*.*)|*.*| " /過濾適當?shù)奈募仨氁?區(qū)分,以00結束,否則會出現(xiàn)參數(shù)不正確CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);/為CFileDialog定義對象DWORD MAXFILE = 2412; / 分配足夠空間dlgOpen.m_ofn.nMaxFile = MAXFILE; / 設置buffer的大小CString strFileName; cha
9、r* buf = new charMAXFILE; /分配空間dlgOpen.m_ofn.lpstrFile = buf; dlgOpen.m_ofn.lpstrFile0 = NULL; /賦值if(IDOK = dlgOpen.DoModal() POSITION pos = dlgOpen.GetStartPosition(); while (pos != NULL) strFileName = dlgOpen.GetNextPathName(pos); / 獲取獨立文件名m_list1.InsertString(m_list1.GetCount(),strFileName);/加至播放
10、列表 delete buf; /釋放空間2)播放文件void CMyDlg:OnPlayButton() / TODO: Add your control notification handler code herem_ActiveMovie.Run();/播放文件SetTimer(0,20,NULL);/設置定時器3)暫停播放void CMyDlg:OnPauseButton() / TODO: Add your control notification handler code herem_ActiveMovie.Pause();4停止播放void CMyDlg:OnStopButton(
11、) / TODO: Add your control notification handler code herem_ActiveMovie.Stop();/停止播放文件KillTimer(0);/關掉定時器5重復播放void CMyDlg:OnReapetButton() / TODO: Add your control notification handler code hereif(!isRepeat)isRepeat=TRUE; SetDlgItemText(IDC_STATIC2,"Status:Repeat"); elseisRepeat=FALSE;SetDl
12、gItemText(IDC_STATIC2,"Status:Normal");6增大聲音void CMyDlg:OnUpperButton() / TODO: Add your control notification handler code herelong Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run();7減小聲音void CMyDlg:OnLowerButton() / TODO: Add yo
13、ur control notification handler code herelong Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();8全屏播放void CMyDlg:OnFullButton() / TODO: Add your control notification handler code herem_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(tr
14、ue);m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();9關閉窗口void CMyDlg:OnCloseButton() / TODO: Add your control notification handler code herem_ActiveMovie.CloseWindow();²10退出void CMyDlg:OnClickedExitButton()/ TODO: Add your control notification handler code herePostQuitMes
15、sage(0);/;4 測試4.1概述1)打開文件(從曲庫中找出歌曲加入列表中)2)播放,暫停,停止,全屏顯示,停止,重播(active movie實現(xiàn)功能)4.2 測試環(huán)境1)2)vs20104.3測試計劃1)打開文件2)播放及各種鍵的使用3)多次運行,檢查穩(wěn)定性4.4測試項目及結果1)打開文件2)5、工作總結5.1工作成果工作成果不是很明顯, 因為我自作自受,霉運連連讓我亂了陣腳,最后的一個大悲劇直接把我將死了!我沒有編寫出來一個成功的程序,以失敗告終!我完了,Oh,myGod!5.2過程分析唉!因為自己眼光不夠敏銳,沒有選擇正確的題目,一開始選擇了郵件收發(fā)程序,當框架做好以后,開始實現(xiàn)各
16、種功能了,才發(fā)現(xiàn)自己并不明白MAPI是怎么一回事,到處查也不是很會用,協(xié)議更沒搞清楚,而且也不知道應該調用哪個系統(tǒng)函數(shù)來實現(xiàn)附件的添加,并且第三步由于協(xié)議問題也沒頭緒,聯(lián)想到上學期做了好久也沒搞出個好程序的經驗,我就果斷放棄了,改做文件編輯,結果又是因為搞不清怎么調出資源管理器搞的頭皮發(fā)麻,最后又是悲劇的放棄了,現(xiàn)在一想都后悔??!意志太不堅定了,就那么個小困難就把我給嚇到了,唉!折騰了兩天半已經是星期三的下午了,眼看期限快到了,我沒辦法,急得要命,沒辦法,這時候想起來老師曾經說過網(wǎng)上的媒體播放器很多,于是就到網(wǎng)上去搜了一個,結果一弄。唉!問題又出來了,我的機子里沒裝那個active movie
17、控件,又搜了一下,找到插入控件的方法,使用運行命令插入了控件,但還是沒有,又一搜,哎呀,真悲劇,2010版中找不到插入那個控件的方法。怎么辦,怎么辦?可急死我了,最后無奈到機房插入了那個控件,一點一點的加入了各個按鈕,然后添加上了各種函數(shù),誰知這時桌面突然顯示,請輸入用戶名和密碼,咋回事?唉!又悲劇了,錢用完了?Oh,myGod,不是吧?我還沒保存那!然后,一翻衣兜,哎,沒錢,怎么辦?沒辦法,第二天,再次走入機房,這次聰明了,只弄了個插件,回到宿舍,因為高版本肯定能兼容低版本,所以繼續(xù)用2010版的完善其它工作,最后大功告成,一運行,不行,參數(shù)數(shù)目不對。這時,我們班回來了一個人,說老師在為我們
18、開了一教室2402,于是我下午就去問老師您,結果老師您一下子來了句抄的,一下子把我給弄暈了!哎呀,老師真厲害呀,一眼就看出來了,但是當我回來以后又運行還是無效的參數(shù)數(shù)目,并沒有那個錯誤,還是不行?。∥覐氐谉o奈了,仔細查找各種可能,但始終解決不了,最后只得放棄,聽取命運的宣判,最后竟然還是讓我找出來錯誤在哪,我要崩潰了,不過還是強忍著回到宿舍,繼續(xù)我的尋錯之旅!唉,加油!哈哈!找到了,原來使用VS2010之后再用VC+6.0會出現(xiàn)缺少文件,不能兼容。而其中有一段CString PathName= dlgOpen.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);中有非法字符很難運行,所以會出現(xiàn)參數(shù)數(shù)目不正確! 5.3經驗教訓及其分析(1)真是不經歷不知道,我現(xiàn)在才發(fā)現(xiàn)自己的基礎是那么的薄弱,MFC的各種控件的使用方法都不是很熟,尤其是列表框,無論怎么學,使用什么方法,都弄不了,真是愁煞我也。本來在文件編輯放棄以后,做了多媒體播放器,我突然發(fā)現(xiàn)了調出資源管理器并選擇的方法,但是因為listbox不太會用,不能使用它打開文件,所以只得放棄,今天一個上午的努力也白費了!以后一定要極愛按基礎的扎實,為以后的編程提供巨大的方便?。?)以后做事要做好全局的規(guī)劃,決定好了之后就不要輕易的改變,否則會誤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電子商務平臺合作訂單合同4篇
- 專業(yè)安裝勞務協(xié)議規(guī)范文本2024版
- 《a臨時起搏器》課件
- 二零二五年度礦業(yè)權轉讓中的水資源利用合同3篇
- 2024版園林綠化工程設計與施工合同3篇
- 2025年度智慧能源場標準化改造項目合同協(xié)議書4篇
- 2024科研機構與制藥公司之間的藥物研發(fā)合同
- 2024石子加工與新型建材研發(fā)生產合同3篇
- 2025年度廠房出租合同附帶租賃雙方權利義務界定4篇
- 2025年度茶樓消防安全管理責任合同4篇
- 2024年安徽省公務員錄用考試《行測》真題及答案解析
- 山西省太原市重點中學2025屆物理高一第一學期期末統(tǒng)考試題含解析
- 充電樁項目運營方案
- 2024年農民職業(yè)農業(yè)素質技能考試題庫(附含答案)
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應練習題)
- 新版《鐵道概論》考試復習試題庫(含答案)
- 【律師承辦案件費用清單】(計時收費)模板
- 高中物理競賽真題分類匯編 4 光學 (學生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術教育研究策略國內外
評論
0/150
提交評論