




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 MFCClassWizard?XDescription:圖12為ActiveMovieControl控件設(shè)置變量m_ActiveMovie6、為程序添加消息處理函數(shù)。打開ClassWizard,為各個按鈕加入消息處理函數(shù)。在MediaPlayerDlg.cpp文件里為各消息處理函數(shù)添加代碼,部分代碼如下:打開文件:voidCMediaPlayerDlg:OnOpen()/TODO:Addyourcontrolnotificationhandlercodeherem_listCtrl.SetFocus();CStringstr;TCHARszFilter口=_T(Mp3File(*.mp3)|
2、*.mp3WmaFile(*.wma)|*.wma|VideoFile(*.dat)|*.dat|WaveFile(*.wav)|*.wav|AVIFile(*.avi)|*.avi|MovieFile(*.mov)|*.mov|MediaFile(*.mmm)|*.mmm|MidFile(*.mid;*,rmi)|*.mid;*.rmi|MPEGFile(*.mpeg)|*.mpeg|AllFile(*.*)|*.*|);CFileDialogfileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,this);
3、CStringstrFilePath;if(IDOK=fileDlg.DoModal()strFilePath=fileDlg.GetPathName();strFilePath.MakeUpper();m_player.SetUrl(strFilePath);m_media=static_cast(m_player.newMedia(strFilePath);m_list.appendItem(m_media);m_listCtrl.InsertItem(count,m_media.GetName();m_listCtrl.SetItemText(count,1,_T(m_media.get
4、ItemInfo(FileType);m_listCtrl.SetItemText(count,2,_T(m_media.GetDurationString();m_listCtrl.SetItemText(count,3,_T(strFilePath);m_listCtrl.SetItemText(count+,4,_T(m_media.getItemInfo(Duration);POSITIONpos;pos=m_listCtrl.GetFirstSelectedItemPosition();IndexInFieldList=m_listCtrl.GetNextSelectedItem(p
5、os);m_listCtrl.SetItemState(IndexInFieldList,LVIS_SELECTED,LVIS_SELECTED);m_player.SetUrl(m_listCtrl.GetItemText(0,3);m_listCtrl.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);播放:voidCMediaPlayerDlg:OnPlay()/TODO:Addyourcontrolnotificationhandlercodehereif(m_list.GetCount()=0)MessageBox(列表無文件!,Warning,
6、MB_OK);KillTimer(0);m_control.play();if(m_control.GetCurrentPosition()=0)m_control.SetCurrentPosition(0.01);SetTimer(0,20,NULL);暫停:voidCMediaPlayerDlg:OnPause()/TODO:Addyourcontrolnotificationhandlercodeherem_control.pause();停止:voidCMediaPlayerDlg:OnStop()/TODO:Addyourcontrolnotificationhandlercodeh
7、ereKillTimer(0);m_control.stop();全屏:voidCMediaPlayerDlg:OnFullscreen()/TODO:Addyourcontrolnotificationhandlercodehereif(!m_player.GetFullScreen()m_control.pause();人*乂65528680*(請雙擊退出全屏模式!);m_player.SetFullScreen(true);m_control.play();退出:voidCMediaPlayerDlg:OnExit()/TODO:Addyourcontrolnotificationhan
8、dlercodehereSendMessage(WM_CLOSE);上一曲:voidCMediaPlayerDlg:OnLast()/TODO:Addyourcontrolnotificationhandlercodeherem_listCtrl.SetFocus();POSITIONpos;CStringstrName;UINTflag1=LVIS_SELECTED|LVIS_FOCUSED;pos=m_listCtrl.GetFirstSelectedItemPosition();IndexInFieldList=m_listCtrl.GetNextSelectedItem(pos);if
9、(IndexInFieldList=-1)AfxMessageBox(列表內(nèi)沒有被選中項!);return;if(IndexInFieldList=0)AfxMessageBox(已經(jīng)至1了列表頭部!);m_listCtrl.SetItemState(IndexInFieldList,flag1,flag1);return;m_listCtrl.SetItemState(IndexInFieldList,LVIS_SELECTED,LVIS_SELECTED);m_listCtrl.SetItemState(IndexInFieldList-1,flag1,flag1);strName=m_l
10、istCtrl.GetItemText(IndexInFieldList-1,3);KillTimer(0);m_control.stop();m_player.SetUrl(strName);m_control.SetCurrentPosition(0.01);m_control.play();SetTimer(0,20,NULL);下一曲:voidCMediaPlayerDlg:OnNext()/TODO:Addyourcontrolnotificationhandlercodeherem_listCtrl.SetFocus();POSITIONpos;CStringstrName;UIN
11、Tflag1=LVIS_SELECTED|LVIS_FOCUSED;pos=m_listCtrl.GetFirstSelectedItemPosition();IndexInFieldList=m_listCtrl.GetNextSelectedItem(pos);if(IndexInFieldList=-1)AfxMessageBox(列表內(nèi)沒有被選中項!);return;if(IndexInFieldList=m_listCtrl.GetItemCount()-1)AfxMessageBox(已經(jīng)至1了列表末尾!);m_listCtrl.SetItemState(IndexInFieldL
12、ist,flag1,flag1);return;m_listCtrl.SetItemState(IndexInFieldList,LVIS_SELECTED,LVIS_SELECTED);m_listCtrl.SetItemState(IndexInFieldList+1,flag1,flag1);strName=m_listCtrl.GetItemText(IndexInFieldList+1,3);KillTimer(0);m_control.stop();m_player.SetUrl(strName);m_control.SetCurrentPosition(0.01);m_contr
13、ol.play();SetTimer(0,20,NULL);快進:voidCMediaPlayerDlg:OnForward()/TODO:Addyourcontrolnotificationhandlercodeheredoublet=m_control.GetCurrentPosition();m_control.SetCurrentPosition(t=t+10);快退:voidCMediaPlayerDlg:OnReverse()/TODO:Addyourcontrolnotificationhandlercodeheredoublet=m_control.GetCurrentPosi
14、tion();m_control.SetCurrentPosition(t=t-10);靜音:voidCMediaPlayerDlg:OnSilence()/TODO:Addyourcontrolnotificationhandlercodehereif(!m_setting.GetMute()m_setting.SetMute(true);elsem_setting.SetMute(false);音量加減:voidCMediaPlayerDlg:OnAdd()/TODO:Addyourcontrolnotificationhandlercodeherem_setting.SetVolume(
15、m_setting.GetVolume()+10);m_VOLUME.SetPos(m_setting.GetVolume();voidCMediaPlayerDlg:OnSub()/TODO:AddyourcontrolnotificationhandlercodehereintVolume=m_setting.GetVolume();m_setting.SetVolume(Volume=Volume-10);m_VOLUME.SetPos(m_setting.GetVolume();列表:voidCMediaPlayerDlg:OnClickList1(NMHDR*pNMHDR,LRESU
16、LT*pResult)/TODO:AddyourcontrolnotificationhandlercodehereLPNMITEMACTIVATEpNMItemActivatereinterpret_cast(pNMHDR);/TODO:AddyourcontrolnotificationhandlercodehereNMLISTVIEW*pNMListView=(NMLISTVIEW*)pNMHDR;*pResult=0;CStringstrName;if(-1!=pNMListView-iItem)strName=m_listCtrl.GetItemText(pNMListView-iI
17、tem,3);KillTimer(0);m_control.stop();m_player.SetUrl(strName);m_control.SetCurrentPosition(0.01);m_control.play();SetTimer(0,20,NULL);另外函數(shù)OnTimer()是通過ClassWizard(Ctrl+W)來添加的:圖13voidCVedioPlayerDlg:OnTimer(UINTnIDEvent)doubleCurrentPos=m_ActiveMovie.GetCurrentPosition();if(CurrentPos=0&isRepeat)/汝口果當(dāng)
18、前是文件的起始位置而且為重復(fù)播放狀態(tài)m_ActiveMovie.Run();CDialog:OnTimer(nlDEvent);實驗展示:00:1104:29MediaPlayer班欣模式MWSsi順序推放00:1104:29MediaPlayer班欣模式MWSsi順序推放rfgwgiik上一a|下一曲上迸|快也|播諭控制I打開文件I典I曾唯I停止I.全屏一I退出I圻Im第-I-,d-dr岸音格式時點七次V3CM;騫fiAli如果.gzl;21DS叫04:mm3333nrKFmMP心得體會:通過這次多媒體播放器的設(shè)計,讓我切身的感受到了計算機技術(shù)在多媒體中的應(yīng)用是多么的廣泛。同時,這也是理論知識的第一次實現(xiàn),學(xué)習(xí)了兩年的計算機知識,第一次真正的實現(xiàn)了一個小程序。雖然這個播放器可用性實在不佳,盡管能實現(xiàn)一些基本功能,但是在程序結(jié)構(gòu)上還有很大方面的優(yōu)化空間,但這次利用VisualC+編寫出的多媒體播放器讓我很有成就感,雖然很多都是老師一步步教我們怎么去做的,三十當(dāng)真正的把程序編寫出來的時候就別提有多興奮了。在工作和生活中多媒體技術(shù)和我們息息相關(guān),在計算機技術(shù)不斷普及的今天,對于我們來說,掌握多媒體技術(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國太湖蟹數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國中號吸通數(shù)據(jù)監(jiān)測研究報告
- 山西省太原市多校2024-2025學(xué)年高一下學(xué)期開學(xué)考試化學(xué)試題
- Unit 1 My day 單元試卷含答案含聽力原文無聽力音頻
- 2025年軍隊文職人員招聘之軍隊文職公共科目綜合檢測試卷B卷含答案
- 2024河北省中考英語真題【原卷版】
- 重大事件公關(guān)管理合同(2篇)
- 金子抵押合同(2篇)
- (一診)2025年蘭州市高三診斷考試歷史試卷(含答案)
- 電子商務(wù)平臺交易額及客戶評價統(tǒng)計表
- 羊水栓塞應(yīng)急預(yù)案及流程
- 新課標(biāo)(水平三)體育與健康《籃球》大單元教學(xué)計劃及配套教案(18課時)
- 《中國傳統(tǒng)文化儒家》課件
- 咨詢公司顧問崗位聘用協(xié)議
- 智慧農(nóng)貿(mào)解決方案
- 2024年四川省公務(wù)員錄用考試《行測》真題及答案解析
- “雙循環(huán)”視閾下我國稀土產(chǎn)業(yè)價值鏈的邏輯構(gòu)成與重構(gòu)路徑研究
- 2024年P(guān)E防靜電氣泡袋項目可行性研究報告
- 2024年四川省瀘州市中考物理試題含答案
- 【蘇寧易購建設(shè)財務(wù)共享服務(wù)中心的現(xiàn)存問題及優(yōu)化建議探析(論文)13000字】
- 《現(xiàn)代家政導(dǎo)論》電子教案 5.3模塊五項目三我國家政服務(wù)業(yè)發(fā)展認知
評論
0/150
提交評論