20XX年多媒體視頻播放器_第1頁(yè)
20XX年多媒體視頻播放器_第2頁(yè)
20XX年多媒體視頻播放器_第3頁(yè)
20XX年多媒體視頻播放器_第4頁(yè)
20XX年多媒體視頻播放器_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論