




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、自制多媒體播放器使用VC+6.0強(qiáng)大的AppWizard、ClassWizard和其中的各種控件可以方便地建立各種應(yīng)用程序。但是想要實(shí)現(xiàn)更高級(jí)更復(fù)雜的功能,就要借助豐富的ActiveX控件資源了。這里就要使用VC+6.0自帶的一個(gè)ActiveX控件ActiveMovieControl Object,來(lái)建立自己的多媒體播放器。此多媒體具有一般的播放功能,能播放:*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,還有Repeat功能。具體步驟:1 打開(kāi)VC6.0,在Projects下選擇MFC AppWizard(exe),并取名MediaPlayer,然后建立基于對(duì)話
2、框的應(yīng)用程序。2 打開(kāi)Resource View,選擇其中的對(duì)話框,打開(kāi)其中的主對(duì)話框,去掉對(duì)話框上的“確定”按鈕,保留“取消”,將Caption改為“退出”。然后再在上面加上九個(gè)按鈕,ID和Caption分別為IDC_OPEN,打開(kāi);IDC_PLAY,播放;IDC_PAUSE,暫停;IDC_STOP,停止;IDC_CLOSE,關(guān)閉;IDC_LOWER,;IDC_FULLSCREEN,全屏;IDC_REPEAT,重復(fù);再加入兩個(gè)靜態(tài)文本控件,分別為:IDC_STATIC,音量;IDC_STATIC2,狀態(tài):正常。3 點(diǎn)擊“開(kāi)始”菜單,運(yùn)行 regsvr32 msdxm.ocx,出現(xiàn)“注冊(cè)成功”
3、的對(duì)話框后打開(kāi)Projects-Add to Project-Components and Controls-Registered ActiveX Controls對(duì)話框,選擇其中的ActiveMovieControl Object, Insert,OK之后,會(huì)發(fā)現(xiàn)控件面板上多了一項(xiàng)ActiveMovieControl Object,將它選中,直接放在對(duì)話框上。按Ctrl+W打開(kāi)ClassWizard為它添加變量m_ActiveMovie。各控件的布局如圖:4為程序添加消息處理函數(shù)。打開(kāi)ClassWizard,為各個(gè)按鈕加入消息處理函數(shù)。在MediaPlayerDlg.cpp文件里為各消息處理
4、函數(shù)添加代碼,各代碼如下:void CMediaPlayerDlg:OnClose() m_ActiveMovie.CloseWindow();/關(guān)閉窗口void CMediaPlayerDlg:OnOpen()char szFileFilter=Mp3 File(*.mp3)|*.mp3|Wma File(*.wma)|*.wma|Video File(*.dat)|*.dat|Wave File(*.wav)|*.wav|AVI File(*.avi)|*.avi|Movie File(*.mov)|*.mov|Media File(*.mmm)|*.mmm|Mid File(*.mid;
5、*,rmi)|*.mid;*.rmi|MPEG File(*.mpeg)|*.mpeg|All File(*.*)|*.*|;/文件類型過(guò)濾CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);if(dlg.DoModal()=IDOK)CString PathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.SetFileName(PathName);void CMediaPlayerDlg:OnPlay()m_ActiveMovie.Run();/播放文件
6、SetTimer(0,20,NULL);/設(shè)置定時(shí)器void CMediaPlayerDlg:OnStop()m_ActiveMovie.Stop();/停止播放文件KillTimer(0);/關(guān)掉定時(shí)器void CMediaPlayerDlg:OnPause()m_ActiveMovie.Pause();/暫停播放void CMediaPlayerDlg:OnUpper()/增加音量long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMo
7、vie.Run();void CMediaPlayerDlg:OnLower()/減少音量long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();void CMediaPlayerDlg:OnRepeat()/重復(fù)模式if(!isRepeat)isRepeat=TRUE;SetDlgItemText(IDC_STATIC2,狀態(tài):重復(fù));elseisRepeat=FALSE;SetDlgItemText(IDC_STAT
8、IC2,狀態(tài):正常);void CMediaPlayerDlg:OnFulscreeen()/全屏播放m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();這里需要注意的是,下面的函數(shù)OnTimer()需通過(guò)ClassWizard(Ctrl+W)來(lái)添加,不能直接復(fù)制:void CMediaPlayerDlg:OnTimer(UINT nIDEvent)double CurrentPos=m
9、_ActiveMovie.GetCurrentPosition();if(CurrentPos=0&isRepeat)/如果當(dāng)前是文件的起始位置而且為重復(fù)播放狀態(tài)m_ActiveMovie.Run();CDialog:OnTimer(nIDEvent);5 為使播放器具有重復(fù)播放功能,需在頭文件MediaPlayerDlg.h 加入控制變量BOOL isRepeat;類型可為Private。同時(shí)修改OnInitDialog()函數(shù):BOOL CMediaPlayerDlg:OnInitDialog()CDialog:OnInitDialog();isRepeat=FALSE;6 這樣此播放器就
10、具有一般的媒體播放功能了,但為了有更好的用戶界面,我們給播放器加上皮膚。我們使用現(xiàn)在比較流行的Skin+ for VC+6.0作為皮膚控件給我們的播放器加上漂亮的皮膚。(1)復(fù)制 SkinPPWTL.h、SkinPPWTL.dll、SkinPPWTL.lib 以及 Chinablue.ssk 皮膚到程序源碼下。(2)在 MFC 下:Project-Setting-Link-Object/library modules 處添加 SkinPPWTL.lib (左側(cè)設(shè)置要選擇“所有配置”)。(3)點(diǎn)擊菜單:Project-Add to Project-File 打開(kāi) SkinPPWTL.h 文件。(
11、4)在 StdAfx.h 中添加頭文件:#include SkinPPWTL.h(5)在MediaPlayerDlg.cpp類中的OnInitDialog()中加上skinppLoadSkin(_T(Chinablue.ssk);7為了使界面更加美觀,還要設(shè)置MediaPlayer對(duì)話框的樣式,取消“系統(tǒng)菜單”的顯示:8 全部完成,現(xiàn)在編譯、連接并運(yùn)行看看效果,打開(kāi)個(gè)mp3文件試聽(tīng)一下,效果不錯(cuò)!9 總結(jié):這個(gè)播放器主要使用了ActiveX控件ActiveMovieControlObject作為播放核心,界面簡(jiǎn)單的采用了若干按鈕來(lái)控制播放。再添加該控件時(shí)發(fā)現(xiàn)控件本身帶有視頻窗口,加大控件大小后
12、就可以直接帶有視頻播放窗口了。進(jìn)過(guò)測(cè)試完全可以播放更多的視頻,于是修改OnOpen函數(shù):void CAbcDlg:OnOpen() char szFileFilter=所有支持類型|*.mp3;*.wma;*.dat;*.wav;*.avi;*.mov;*.rmvb;*.mmm;*.mid;*.rmi;*.mpeg|Mp3 File(*.mp3)|*.mp3|Wma File(*.wma)|*.wma|Video File(*.dat)|*.dat|Wave File(*.wav)|*.wav|AVI File(*.avi)|*.avi|Movie File(*.mov)|*.mov|Rmvb File(*.rmvb)|*.rmvb|Media File(*.mmm)|*.mmm|Mid File(*.mid;*,rmi)|*.mid;*.rmi|MPEG File(*.mpeg)|*.mpeg|All File
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供用苗木合同范本
- 加盟教育協(xié)議合同范本
- 與收款合同范本
- 儀器協(xié)議合同范本
- 化驗(yàn)用品購(gòu)銷(xiāo)合同范本
- 2024年四川旅游學(xué)院引進(jìn)考試真題
- 2024年省廈門(mén)市梧村小學(xué)招聘考試真題
- 第二單元 遵守社會(huì)規(guī)則 大單元教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版道德與法治八年級(jí)上冊(cè)
- 買(mǎi)賣(mài)物品交易合同范本
- 保溫發(fā)泡板合同范本
- 《職業(yè)性肌肉骨骼疾患的工效學(xué)預(yù)防指南 》
- 不同產(chǎn)地筠連紅茶風(fēng)味化學(xué)成分差異分析
- DB50 577-2015 汽車(chē)整車(chē)制造表面涂裝大氣污染物排放標(biāo)準(zhǔn)
- 生態(tài)安全課件
- 大學(xué)英語(yǔ)(西安歐亞學(xué)院)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋西安歐亞學(xué)院
- 人教版高中英語(yǔ)挖掘文本深度學(xué)習(xí)-選修四-UNIT-2-(答案版)
- 八下冀教版英語(yǔ)單詞表
- 2.2 生態(tài)脆弱區(qū)的綜合治理 課件 【知識(shí)精研】高二地理人教版(2019)選擇性必修2
- 餐廳服務(wù)人員話術(shù)培訓(xùn)
- 【人教版化學(xué)】選擇性必修2 知識(shí)點(diǎn)默寫(xiě)小紙條(答案背誦版)
- 初中生心理健康教育講座課件
評(píng)論
0/150
提交評(píng)論