




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔第2頁(yè)/共2頁(yè)精品文檔推薦20XX年多媒體視頻播放器名目
歐陽(yáng)光明(2021.03.07)
多媒體視頻播放器1
1基本功能描述1
2設(shè)計(jì)思路1
3軟件設(shè)計(jì)2
3.1設(shè)計(jì)步驟3
3.2界面設(shè)計(jì)6
3.3關(guān)鍵功能的實(shí)現(xiàn)9
3.3.1“打開(kāi)”功能的實(shí)現(xiàn)9
3.3.2“播放”、“暫停”、“停止”“全屏”功能的實(shí)現(xiàn)10
3.3.3“上一首”和“下一首”功能實(shí)現(xiàn)11
3.3.4音量滑動(dòng)條功能的實(shí)現(xiàn)12
3.3.5播放列表功能的實(shí)現(xiàn)13
3.3.6進(jìn)度滑動(dòng)條功能的實(shí)現(xiàn)15
4結(jié)論與心得體味16
5XXX17
6考慮題17
7附錄18
7.1調(diào)試報(bào)告18
7.1.1調(diào)試一18
7.1.2調(diào)試二19
7.2測(cè)試結(jié)果19
7.3關(guān)鍵源代碼21
多媒體視頻播放器
1基本功能描述
多媒體視頻播放工具是目前計(jì)算機(jī)必備的一具軟件,比較流行的有RealPlayer、WindowsMediaPlayer以及國(guó)產(chǎn)暴風(fēng)影音等,可以播放RM、RMVB、MP3、MPEG、DAT等多種格式的視頻文件mp3、wma、mdi、wav、avi、dat等格式的音頻文件。
用VC++軟件設(shè)計(jì)并編寫(xiě)出一具多媒體視頻播放器。在設(shè)計(jì)期間,能夠挑選使用的多媒體控件,制作與用戶交互性較好的應(yīng)用程序界面。關(guān)于控件有多種,能夠自個(gè)兒挑選。本次課程設(shè)計(jì)要使用VC++6.0內(nèi)部的ActiveX控件——WindowsMediaPlayer控件,建立自個(gè)兒的多媒體播放器。
此多媒體播放器具有打開(kāi)文件、播放、暫停、停止、關(guān)閉、全屏、音量滑塊調(diào)節(jié)、進(jìn)度滑塊調(diào)節(jié)、快進(jìn)、快退、顯示躲藏播放列表等基本功能,能夠播放*.mp3、*.wma、*.mdi、*.wav、*.avi、*.dat、*.mpg、*.rmvb等格式的多媒體文件。并且還具有自制的播放列表,能夠按照列表上的順序舉行一曲、下一曲的播放。
2設(shè)計(jì)思路
WindowsMediaPlayer是一款Windows系統(tǒng)自帶的播放器,支持經(jīng)過(guò)插件增強(qiáng)功能。其控件作為本次課設(shè)的媒體控件能夠滿腳要求。同時(shí)該控件是微軟自帶的免費(fèi)控件,通常每個(gè)電腦都應(yīng)有那個(gè)控件,方便設(shè)計(jì)出來(lái)的軟件在各個(gè)電腦運(yùn)行。
依照WindowsMediaPlayer和各個(gè)按鈕控件功能的特點(diǎn),首先要在初始化中對(duì)CWMPControl,CWMPSettings,CWMPPlaylist,CWMPMedia等類(lèi)的對(duì)象舉行綁定和定義。播放器的一些基本的功能如播放、暫停、全屏、靜音、快進(jìn)、快退等要緊是調(diào)用CWMPControl和CWMPPlayer類(lèi)中的成員函數(shù)來(lái)舉行實(shí)現(xiàn)。關(guān)于打開(kāi)按鈕,需要調(diào)用通用文件對(duì)話框類(lèi),調(diào)用szFileFilter()文件過(guò)濾函數(shù)和GetFileName()獵取文件名函數(shù)。
除了以上提到的功能的實(shí)現(xiàn),還有進(jìn)度滑條Slider_progress和音量滑動(dòng)條Slider2是經(jīng)過(guò)對(duì)CSliderCtrl類(lèi)實(shí)現(xiàn)的。
圖1視頻播放器流程圖
3軟件設(shè)計(jì)
設(shè)計(jì)平臺(tái)能夠是Win32的操作平臺(tái)上,使用已安裝的VC6.0++舉行設(shè)計(jì)和調(diào)試。在設(shè)
計(jì)前要確保平臺(tái)中有WMP控件。結(jié)合之前的設(shè)計(jì)思路,使用WindowsMediaPlayer等控件來(lái)制作多媒體視頻播放器。若是Win64這與VC6.0++別兼容,能夠挑選更高的版本。
3.1設(shè)計(jì)步驟
打開(kāi)VC++6.0,XXX“新建”,在“新建”窗口挑選“工程”選項(xiàng)卡。由于程序是基于
對(duì)話框的MFC應(yīng)用程序使用WindowsMediaPlayer等控件來(lái)制作多媒體視頻播放器。設(shè)置好地址位置和工程名后點(diǎn)“確定”。這個(gè)地方的工程名字能夠是自個(gè)兒的名字拼音縮寫(xiě),也能夠沒(méi)有任何含義。
圖2“新建”對(duì)話框示意圖
在XXX“確定”后進(jìn)入到了“MFC應(yīng)用程序向?qū)А襟E1”的設(shè)置界面,挑選“基本對(duì)話框”,然后XXX“下一步”。
圖3“MFC應(yīng)用程序向?qū)А笔疽鈭D
在剩下的3個(gè)步驟中,全部挑選默認(rèn)的設(shè)置,別要做隨意更改,直至“完成”便實(shí)現(xiàn)了對(duì)話框的創(chuàng)建。然后是插入控件,先把系統(tǒng)初始化的按鈕用“Delete”刪除,在單擊鼠標(biāo)右鍵挑選“插入ActiveX控件”,在跳出的對(duì)話框中挑選“WindowsMediaPlayer”(普通當(dāng)電腦安裝了WindowsMediaPlayer,其控件也應(yīng)該存在),XXX“確定”。
圖4添加“WindowsMediaPlayer”控件示意圖盡管差不多插入控件了,但這時(shí)的控件還別能使用,因?yàn)榭丶母鞣N類(lèi)并沒(méi)有一起加入
工程類(lèi)中。右擊鼠標(biāo),挑選“建立類(lèi)向?qū)А?,這時(shí)系統(tǒng)跳出對(duì)話框提示是否加入來(lái)自控件的類(lèi),直截了當(dāng)XXX“確定”就能夠了。
圖5“WindowsMediaPlayer”控件類(lèi)添加示意圖繼續(xù)對(duì)控件關(guān)聯(lián)變量,右擊加入的WMP控件,XXX“屬性”,把ID改為“IDC_player”,然后打開(kāi)“建立類(lèi)向?qū)А秉c(diǎn)到“MemberVariables”頁(yè)面向IDC_player添加變量。單擊“ADDVariables”,會(huì)彈出圖6所示的“Addmembername”對(duì)話框,命名為“m_player”,設(shè)為操縱“Control”型,XXX“OK”。
圖6變量命名示意圖
關(guān)聯(lián)變量之后才就是真正的添加了該控件,能夠發(fā)覺(jué)在關(guān)聯(lián)變量之后,控件工具欄多了“WindowsMediaPlayer”控件的選項(xiàng),同時(shí)在“SourceFiles”中增加了17個(gè)類(lèi),相應(yīng)
的頭文件也增加了17個(gè),其中最要緊的類(lèi)為Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpsettings四個(gè)大類(lèi)。
Cwmpplayer4類(lèi)要緊是對(duì)于對(duì)其他類(lèi)的對(duì)象的調(diào)用以及基本的控件功能的實(shí)現(xiàn),提供了與WindowsMediaPlayer控件舉行交互的基本辦法,其中部分成員函數(shù)還可以進(jìn)一步獵取得到其他相關(guān)類(lèi)對(duì)象的實(shí)例;Cwmpcontrols類(lèi)要緊是對(duì)控件的更多的操作;Cwmpmedia類(lèi)要緊是關(guān)于媒體文件資源的一些操作;Cwmpsettings類(lèi)要緊是關(guān)于媒體文件中的一些基本設(shè)置的操作。
3.2界面設(shè)計(jì)
首先是打開(kāi)按鈕,用于媒體文件的打開(kāi);然后依次是播放、暫停、停止、快進(jìn)、快退、靜音、全屏、退出、上一首、下一首、顯示/躲藏按鈕,以及視頻進(jìn)度滑塊和音量滑塊條Slider控件。對(duì)控件要緊舉行變量的關(guān)聯(lián),以及ID的修改,關(guān)于一般按鈕舉行ID修改,結(jié)果如下下表1、表2、表3和表4所示。
表1控件ID以及對(duì)應(yīng)響應(yīng)函數(shù)表
然后是加入一些關(guān)聯(lián)變量的控件,之前加入了WMPlayer,還要加入類(lèi)不為“滑塊”的Slider來(lái)當(dāng)調(diào)節(jié)聲音的滑塊,還有加入類(lèi)不為“列表框”的ListControl來(lái)充當(dāng)播放列表。
表2控件ID以及關(guān)聯(lián)變量表
在按鈕對(duì)應(yīng)的消息響應(yīng)函數(shù)中寫(xiě)程序?qū)⒁玫奖?的變量和WMP控件中的5個(gè)類(lèi)的函數(shù)。
在這五個(gè)類(lèi)中:Cwmpplayer4類(lèi)要緊是對(duì)于對(duì)其他類(lèi)的對(duì)象的調(diào)用以及基本的控件功能的實(shí)現(xiàn),是WMP控件函數(shù)與外部交流的橋梁,別可缺少。寧外其部分成員函數(shù)還可以進(jìn)一步獵取得到其他相關(guān)類(lèi)對(duì)象的實(shí)例;Cwmpcontrols類(lèi)要緊是對(duì)控件的更多的操作,例如播放、暫停;Cwmpmedia類(lèi)要緊是關(guān)于媒體文件資源的一些操作,例如獵取路徑和名稱(chēng);Cwmpplaylist類(lèi)要緊是對(duì)于播放列表的操作;Cwmpsettings類(lèi)要緊是關(guān)于媒體文件中的一些基本設(shè)置的操作。
表3其他類(lèi)及對(duì)應(yīng)對(duì)象表
表4其他數(shù)據(jù)定義
除了對(duì)各個(gè)控件關(guān)聯(lián)變量以及消息響應(yīng)函數(shù),還要對(duì)對(duì)話框類(lèi)舉行消息響應(yīng)函數(shù)的關(guān)
聯(lián),如當(dāng)一首歌播放完后的模式挑選。應(yīng)用到WM_TIMER消息響應(yīng)函數(shù)以及SetTimer()和KillTimer()函數(shù),如圖建立OnTimer函數(shù)。
圖7添加“WM_TIMER”消息函數(shù)示意圖
還有菜單的設(shè)計(jì),其相對(duì)簡(jiǎn)單,只要名稱(chēng)和ID與表1保持一致就能夠了。在“ResourceFile”中右擊鼠標(biāo)添加“MENU”,屬性為“IDR_MENU1”。然而菜單并未與對(duì)話窗口有實(shí)質(zhì)聯(lián)系,需要將菜單加入到“IDD_SHIFAN_DIALOG”中來(lái),在“IDD_SHIFAN_DIALOG”窗口空白右鍵單擊,選中菜單“IDR_MENU1”,如此便完成了對(duì)菜單的加載。
圖8控件按鈕分布圖
編譯運(yùn)行程序后得到了初步的界面效果圖,固然還沒(méi)有加入函數(shù)。并且在左上角會(huì)顯示自個(gè)兒寫(xiě)的工程名“YLJ_Media_Player”,如圖8所示。
3.3關(guān)鍵功能的實(shí)現(xiàn)
關(guān)于各個(gè)按鈕、列表功能的實(shí)現(xiàn)要緊是經(jīng)過(guò)對(duì)各個(gè)函數(shù)加入相應(yīng)的代碼,下文將列出相應(yīng)的關(guān)鍵代碼。
3.3.1“打開(kāi)”功能的實(shí)現(xiàn)
“打開(kāi)”按鈕要緊是實(shí)現(xiàn)了對(duì)打開(kāi)的文件舉行過(guò)濾,要緊使用了szFileFilter()函數(shù)。XXX確定時(shí),首先是把文件路徑傳給播放列表中,列表在從文件路徑中提取文件名來(lái)顯示。然后又把文件路徑經(jīng)過(guò)SetUrl()交給控件讀取播放。
voidCYLJ_Media_PlayerDlg::OnBUTTONopen()
{
charszFileFilter[]="所有支持類(lèi)型
|*.mp3;*.mp4;*.wma;*.dat;*.wav;*.avi;*.mov;*.rmvb;*.mmm;*.mid;*.rmi;*.mpeg;*.mpg|""Mp3File(*.mp3)|*.mp3|"
"Mp4File(*.mp4)|*.mp4|"
"WmaFile(*.wma)|*.wma|"
"VideoFile(*.dat)|*.dat|"
"WaveFile(*.wav)|*.wav|"
"AVIFile(*.avi)|*.avi|"
"MovieFile(*.mov)|*.mov|"
"RmvbFile(*.rmvb)|*.rmvb|"
"MediaFile(*.mmm)|*.mmm|"
"MidFile(*.mid;*,rmi)|*.mid;*.rmi|"
"MPEGFile(*.mpeg)|*.mpeg|"
"MPGFile(*.mpg)|*.mpg|"
"AllFile(*.*)|*.*||";//文件類(lèi)型過(guò)濾
CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);POSITIONpos=dlg.GetStartPosition();
if(dlg.DoModal()==IDOK)
{while(pos!=NULL)
{
m_PathName=dlg.GetN
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省白城市鎮(zhèn)賚縣2025屆三下數(shù)學(xué)期末學(xué)業(yè)水平測(cè)試試題含解析
- 智能問(wèn)答系統(tǒng)在文獻(xiàn)數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)-全面剖析
- 歷史文獻(xiàn)的數(shù)字化處理與傳播-全面剖析
- 物聯(lián)網(wǎng)驅(qū)動(dòng)架構(gòu)-全面剖析
- 鄭州市第九十九中學(xué)招聘工作人員真題2024
- 矯治效果預(yù)測(cè)模型構(gòu)建-全面剖析
- 寧波市海曙區(qū)古林鎮(zhèn)招聘真題2024
- 貴州三穗縣城鎮(zhèn)公益性崗位招聘真題2024
- 個(gè)性化疫苗研發(fā)-全面剖析
- 2025年小學(xué)語(yǔ)文畢業(yè)升學(xué)考試全真模擬卷(句式變換與修辭)歷年真題回顧試題
- 2025生豬購(gòu)買(mǎi)合同范文
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理制度及工作程序-完整版
- (二模)溫州市2025屆高三第二次適應(yīng)性考試英語(yǔ)試卷(含答案)+聽(tīng)力音頻+聽(tīng)力原文
- DeepSeek+AI組合精準(zhǔn)賦能教師教學(xué)能力進(jìn)階實(shí)戰(zhàn) 課件 (圖片版)
- 行政事業(yè)單位固定資產(chǎn)培訓(xùn)
- 6.1.2化學(xué)反應(yīng)與電能 課件 2024-2025學(xué)年高一下學(xué)期化學(xué)人教版(2019)必修第二冊(cè)
- 建筑施工企業(yè)安全生產(chǎn)流程
- 外來(lái)植物入侵工程施工方案
- 2025屆高考地理專(zhuān)項(xiàng)練習(xí):農(nóng)業(yè)區(qū)位因素及其變化(含答案)
- 初中生科學(xué)素養(yǎng)與科學(xué)探究能力的培養(yǎng)策略研究考核試卷
- 2025年()中國(guó)郵政集團(tuán)公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論