基于VC的多媒體播放器的設(shè)計與開發(fā)(共29頁).doc_第1頁
基于VC的多媒體播放器的設(shè)計與開發(fā)(共29頁).doc_第2頁
基于VC的多媒體播放器的設(shè)計與開發(fā)(共29頁).doc_第3頁
基于VC的多媒體播放器的設(shè)計與開發(fā)(共29頁).doc_第4頁
基于VC的多媒體播放器的設(shè)計與開發(fā)(共29頁).doc_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、存檔編號 基于VC的多媒體播放器的設(shè)計與開發(fā)教學(xué)學(xué)院 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院屆 別 2013屆 專 業(yè) 計算機(jī)科學(xué)與技術(shù)學(xué) 號 姓 名 指導(dǎo)教師 完成日期 2013.5.3 目錄摘要1關(guān)鍵詞:1Abstract2Key words:21. 引言31.1 MFC簡介31.2 ActiveX Control介紹42. 需求分析42.1 功能需求分析42.2 性能需求分析52.3 運(yùn)行需求分析53. 系統(tǒng)總體設(shè)計53.1 總體設(shè)計53.2總體設(shè)計層次圖74. 詳細(xì)設(shè)計74.1基本界面設(shè)置84.2打開文件與添加列表控制設(shè)置84.3播放控制控件設(shè)置84.4對列表的控制控件設(shè)置84.5菜單控件設(shè)置94.6程

2、序設(shè)計的詳細(xì)說明95. 編碼實(shí)現(xiàn)125.1 ActiveX控件在播放器中應(yīng)用125.2 主要實(shí)現(xiàn)原理及程序136.總結(jié)26參考文獻(xiàn)27摘要本畢業(yè)設(shè)計“多媒體播放軟件設(shè)計”就是為了設(shè)計一個簡單實(shí)用的播放器。首先是利用VC系統(tǒng)的ActiveX控件來實(shí)現(xiàn)基礎(chǔ)的播放媒體功能。其次,是通過分析媒體播放的具體過程,在打開媒體設(shè)備的過程中應(yīng)用程序需要做哪些事情,在應(yīng)用程序中加入對這些過程支持的代碼。再次,對應(yīng)用程序的流程構(gòu)造大致的輪廓,再完善程序框架的設(shè)計,應(yīng)用程序外觀的設(shè)計。最后,也是最關(guān)鍵的就是編寫實(shí)現(xiàn)播放媒體的代碼將播放器的基本功能實(shí)現(xiàn)。本軟件與其他同類型的多媒體播放器相比,具有體積小、支持的播放格式

3、多、系統(tǒng)資源占有少的優(yōu)勢。同時支持文件的打開、保存、刪除等功能。雖然體積很小,但是基本完成了對常見音頻、視頻媒體的播放功能。此篇論文主要闡述的是系統(tǒng)設(shè)計時所做的一些工作,包括對系統(tǒng)的需求分析,系統(tǒng)的總體設(shè)計以及系統(tǒng)的詳細(xì)設(shè)計,詳細(xì)說明了系統(tǒng)的一些常用的功能及特性,以便用戶使用。關(guān)鍵詞:VC ActiveX 多媒體 系統(tǒng)設(shè)計AbstractMy design" multimedia broadcast software design " in order to design a practical player Have solved MCI function and ord

4、ered the name type of news and function problem at first. Secondly, it is through analyzing the concrete course that the media broadcasts, what things application program needs doing during the process of turning on apparatus of media, add the code supported to the course into application program. M

5、oreover, to the procedure structure roughly outline of the application program, and then improve the design of the procedure frame, design of the appearance of the application program. Finally, a key one to write, realize code to show the media realize the basic function of the player most too. Comp

6、ared to this software with other same type multimedia player, have small, form of broadcasting supported more, systematic resources occupy few advantages. Support the tabulation of broadcasting to edit, support the function of opening, save of the file at the same time.Though the volume is very smal

7、l, the one that has finished to the common audio frequency , video media basically has broadcast the function.Mainly elaborates this thesis is of some work done while designing the system, including the analysis of the demand of the system, detailed design, system design and system, and explains som

8、e common functions and characteristics of the system, so that the user use. Key words: VC ActiveX Multimedia System Design1. 引言多媒體技術(shù)的概念和應(yīng)用出現(xiàn)于20世紀(jì)80年代初期,經(jīng)過十余年的發(fā)展,隨著計算機(jī)科學(xué)網(wǎng)絡(luò)的普及和多媒體技術(shù)的發(fā)展,已成為計算機(jī)領(lǐng)域發(fā)展的熱點(diǎn)技術(shù),針對目前各種媒體格式,如何簡單方便的播放各類媒體已成為人們普遍關(guān)注的問題,而媒體播放器的開發(fā)也變得十分重要。綜合以上,我決定以VC為平臺、C+為背景開發(fā)一款適合大眾的小型多媒體播放器。1.1 MFC簡介

9、MFC(Microsoft Foundation Classes),是一個微軟公司提供的類庫(class libraries),以C+類的形式封裝了Windows的API,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。MFC 是Win API與C+的結(jié)合,API,即微軟提供的Windows下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身,可以允許用戶使用各種各樣的第三方(如我是一方,微軟是一方,Borland就是第三方)的編程語言來進(jìn)行對Windows下應(yīng)用程序的開發(fā)

10、,使這些被開發(fā)出來的應(yīng)用程序能在Windows下運(yùn)行.這種結(jié)合一方面讓用戶使用微軟的專業(yè)C+ SDK來進(jìn)行Windows下應(yīng)用程序的開發(fā)變得容易,因?yàn)镸FC是對API的封裝,微軟做了大量的工作,隱藏了好多程序開發(fā)人員在Windows下用C+ & MFC編制軟件時的大量內(nèi)節(jié),如應(yīng)用程序?qū)崿F(xiàn)消息的處理,設(shè)備環(huán)境繪圖,這種結(jié)合是以方便為目的的,必定要付出一定代價(這是微軟的一向作風(fēng)),因此就造成了MFC對類封裝中的一定程度的冗余和迂回,但這是可以接受的。1.2 ActiveX Control介紹ActiveX 控件,一個類似于復(fù)選框或按鈕的控件,可向用戶提供選項(xiàng)或運(yùn)行自動執(zhí)行任務(wù)的宏或腳本。

11、可以在 Microsoft Visual Basic for Applications 中為控件編寫宏,或在 Microsoft 腳本編輯器中編寫腳本。 2. 需求分析2.1 功能需求分析圖2-1 功能需求圖(1) 播放視頻文件:用戶可以通過該軟件播放任意格式(例如 avi、rmvb、rm等格式)的視頻文件。(2) 播放音頻文件:用戶可以播放常規(guī)(mp3格式)的音頻文件。(3) 文件列表顯示:用戶通過添加音頻視頻文件將在列表顯示并告知用戶正在播放的曲目。(4) 音量大小控制:用戶可以通過音量增大按鈕和音量減小按鈕來控制音量大小。2.2 性能需求分析(1)流暢性。音頻文件和視頻文件能流暢的播放。

12、(2)穩(wěn)定性。程序運(yùn)行穩(wěn)定,占用內(nèi)存小,不會出現(xiàn)崩潰的情況。(3)模塊化。播放器各個模塊劃分清晰,用戶操作方便。2.3 運(yùn)行需求分析(1)硬件要求:內(nèi)存:512MB以上,CPU:2.20GHz,磁盤空間:20MB。(2)系統(tǒng)要求:Windows7 旗艦版 32位操作系統(tǒng)。3. 系統(tǒng)總體設(shè)計3.1 總體設(shè)計1) 界面設(shè)置 按鈕類聲明 ActiveX控件類聲明 對話框類聲明 基本界面的圖形設(shè)置(根據(jù)圖形設(shè)置界面)2) 打開文件與添加列表 播放列表 添加文件3) 播放控制 打開 播放 暫停停止音量增大 音量減小 循環(huán)全屏 播放進(jìn)程控制 退出4) 對列表控制 添加文件 保存列表 列表中的雙擊播放列表的

13、擴(kuò)展 刪除文件保存方式5) 菜單設(shè)置(菜單是從按鈕出來,而不是原來意義的直接添加在對話框上) 菜單按鈕 控制按鈕 播放列表按鈕3.2總體設(shè)計層次圖系統(tǒng)總體設(shè)計層次圖如圖3-2所示。圖3-2 總體設(shè)計層次圖4. 詳細(xì)設(shè)計最初運(yùn)用MFC,建立對話框?yàn)榛究蚣?。因?yàn)楸拒浖且韵到y(tǒng)自帶的ActiveX控件為基礎(chǔ),所以將本軟件的設(shè)計重點(diǎn)和難點(diǎn)放在了功能設(shè)計方面。4.1基本界面設(shè)置在基本界面確定后,添加各類控件。按鈕定義為CButtom按鈕類,播放控件定義為CActiveMovie3類,基礎(chǔ)類以CDialog為父類的CMediaPlayerDlg類,列表框?yàn)镃ListBox類。4.2打開文件與添加列表控制

14、設(shè)置打開文件有兩種方法,一是通過主面板上打開按鈕,二是通過菜單中文件的子菜單打開文件。添加文件:CButton,IDC_ADD4.3播放控制控件設(shè)置播放控制包括:播放,暫停,停止,音量增大,音量減小,循環(huán),全屏,打開,退出。播放控制也可在菜單中進(jìn)行控制。 播放:CButton,IDC_PLAY 暫停:CButton,IDC_PAUSE 停止:CButton,IDC_STOP 音量增大:CButton,IDC_LOWER 音量減?。篊Button,IDC_UPPER 循環(huán):CButton,IDC_REPEAT 全屏:CButtom,IDC_FULLSCREEN 打開:CButton,IDC_OP

15、EN 退出:CButton,IDCANCEL4.4對列表的控制控件設(shè)置列表的控制包括:添加文件,刪除當(dāng)前所選項(xiàng),保存列表,保存方式,在列表中雙擊播放,列表的擴(kuò)展。設(shè)置如下。 添加文件:CButton,IDC_ADD 刪除當(dāng)前所選項(xiàng):CButton,IDC_DEL 保存列表:CButton,IDC_SAVELIST 保存方式: IDC_RADIO1,/自動保存。IDC_RADIO2,/手動保存。 列表中的雙擊播放:LISTBOX本身的LBN_DBLCLK消息函數(shù)OnDblclkList() 列表的擴(kuò)展:m_list.SetHorizontalExtent(1000);4.5菜單控件設(shè)置除去上述菜

16、單控制之外,菜單中還包括音量控制、模式控制和列表控制。 音量控制:IDC_LOWER,/音量減小IDC_UPPER,/音量增大 模式控制:IDC_REPEAT,/循環(huán)控制IDC_FULLSCREEN,/全屏 列表控制:IDC_OPENLIST,/播放列表4.6程序設(shè)計的詳細(xì)說明1)界面設(shè)置各個自定義類的聲明:CButton類:按鈕類聲明。CActiveMovie3類:ActiveX控件類聲明。CDialog類:對話框類聲明。在主對話框的類定義中聲明:public:void MoveMovieWindow();/界面初始化在主對話框的初始化程序里調(diào)用該函數(shù),具體定義請參照程序中函數(shù),BOOL i

17、sRepeat;/循環(huán)控制標(biāo)識控制循環(huán)模式的標(biāo)識,通過此標(biāo)識識別系統(tǒng)狀態(tài):單曲或重復(fù)。并在系統(tǒng)界面顯示狀態(tài)。2)打開文件函數(shù)設(shè)置由按鈕的BN_CLICKED消息函數(shù)控制。程序詳見void CMediaPlayerDlg:OnOpen()/打開文件3)列表函數(shù)設(shè)置列表文件的程序主要寫在按鈕的BN_CLICKED消息函數(shù)里面。程序詳見void CMediaPlayerDlg:OnAdd()/添加列表void CMediaPlayerDlg:OnSavelist()/保存列表void CMediaPlayerDlg:OnOpenlist()/播放列表的打開與關(guān)閉4)播放控制函數(shù)設(shè)置 播放:void

18、CMediaPlayerDlg:OnPlay() 暫停:void CMediaPlayerDlg:OnPause() 停止:void CMediaPlayerDlg:OnStop() 音量增大:void CMediaPlayerDlg:OnUpper() 音量減?。簐oid CMediaPlayerDlg:OnLower() 循環(huán):void CMediaPlayerDlg:OnRepeat() 循環(huán)控制:BOOL isRepeat; 全屏:void CMediaPlayerDlg:OnFullscreen() 退出:BOOL CMediaPlayerApp:InitInstance()5)列表

19、控制函數(shù)設(shè)置 添加文件:CButton,IDC_ADD,此函數(shù)同上述打開文件OnAdd()。 保存列表:CButton,IDC_SAVELIST,此函數(shù)同上述保存文件列表OnSavelist()。 列表的擴(kuò)展:在OnInitDialog()函數(shù)中添加如下代碼。m_list.SetHorizontalExtent(1000); 列表中的雙擊播放:LISTBOX本身的LBN_DBLCLK消息函數(shù)OnDblclkListP()。void CMediaPlayerDlg:OnDblclkListP() 列表的隱藏彈出:同上述列表函數(shù)的播放列表的打開與關(guān)閉函數(shù)OnOpenlist()。void CMed

20、iaPlayerDlg:OnOpenlist()6)菜單控制函數(shù)設(shè)置菜單是從按鈕出來,而不是原來意義的直接添加在對話框上。 菜單按鈕:void CMediaPlayerDlg:OnMenu() 音量控制:void CMediaPlayerDlg:OnLower()/音量減小void CMediaPlayerDlg:OnUpper() /音量增大 模式控制:void CMediaPlayerDlg:OnFullscreen()/全屏void CMediaPlayerDlg:OnRepeat()/單曲或重復(fù) 列表控制:void CMediaPlayerDlg:OnOpenlist()5. 編碼實(shí)現(xiàn)

21、5.1 ActiveX控件在播放器中應(yīng)用目前視頻播放器很多,可以播放各種各樣的文件和流,但大多只支持一個文件或一個流播放,若要播放多個文件就需手工打開多個播放器。在現(xiàn)實(shí)的應(yīng)用中,為了實(shí)現(xiàn)多流播放,實(shí)際上是直接將媒體流打包輸入到計算機(jī)的通信接口上,由多個播放器進(jìn)程進(jìn)行播放,這樣做只適應(yīng)于播放無關(guān)聯(lián)的媒體流,如多路視頻監(jiān)控,多人會議系統(tǒng)等。而對于相關(guān)聯(lián)的媒體流,目前市場上的視頻播放器就不能實(shí)現(xiàn)多個視頻文件流的控制和同步。在對多流媒體同步播放技術(shù)研究的基礎(chǔ)上,通過對流媒體服務(wù)器的設(shè)置,進(jìn)行了多流媒體播放器的開發(fā)。多流媒體播放器可以接收多流媒體服務(wù)器的碼流并對其進(jìn)行解碼和控制,同時對相關(guān)流進(jìn)行同步,改

22、進(jìn)了播放器的內(nèi)部結(jié)構(gòu)和播放器的用戶界面。將其移植成ActiveX控件后,通過對4個媒體流的同步播放測試,證實(shí)用ActiveX控件設(shè)計的播放器運(yùn)行性能良好。ActiveX是一種技術(shù)集合。利用ActiveX,開發(fā)者幾乎可以利用任何熟悉的工具產(chǎn)生多媒體效果、交互式功能及復(fù)雜的應(yīng)用程序。其優(yōu)點(diǎn)在于開放的跨平臺支持,可以運(yùn)行在Macintosh,Windows 和UNIX操作系統(tǒng)上,支持Visual Basic、Visual C+、Borland Delphi、Borland C+、java and Java-enabledtools等各種工具,支持HTML,TCP/IP,Java,COM和其他工業(yè)標(biāo)準(zhǔn)

23、。 ActiveX的技術(shù)包括用戶能夠在瀏覽器之中瀏覽非HTML文檔(如word文檔);能夠被插入網(wǎng)頁或任何稱作控件容器庫的應(yīng)用程序之中的對象(如按鈕、直方圖);可以在整個客戶區(qū)域以框架形式顯示文檔;能夠定制來源于數(shù)據(jù)庫或是一個在服務(wù)器上運(yùn)行的程序的網(wǎng)頁內(nèi)容;可以將處理過程從服務(wù)器方移至客戶方。5.2 主要實(shí)現(xiàn)原理及程序1)文件處理過程演示文件處理過程如圖5-1所示。圖5-1 文件處理過程演示圖主要實(shí)現(xiàn)代碼如下所示。void CMediaPlayerDlg:OnOpen() char szFileFilter="所有支持類型|*.mp3;*.wma;*.dat;*.wav;*.avi;

24、*.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|""Medi

25、a File(*.mmm)|*.mmm|""Mid File(*.mid;*,rmi)|*.mid;*.rmi|""MPEG File(*.mpeg)|*.mpeg|""All File(*.*)|*.*|"/文件類型過濾CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);if(dlg.DoModal()=IDOK)CString PathName=dlg.GetPathName();PathName.MakeUpper();m_ActiveMovie.

26、SetFileName(PathName);m_list.AddString(PathName);OnPlay();2)主界面實(shí)現(xiàn)主界面設(shè)計如圖5-2所示。圖5-2 主界面設(shè)計對照圖根據(jù)上圖設(shè)計主界面,主要實(shí)現(xiàn)代碼如下。BOOL CMediaPlayerDlg:OnInitDialog()CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMe

27、nu != NULL)CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small iconVolume=m_ActiveMovie.GetV

28、olume()+652;CString str1;str1.Format(_T("%ld"),Volume);SetDlgItemText(IDC_STATIC3,str1);SetWindowPos(NULL,0,0,800,570,SWP_NOMOVE);m_list.SetHorizontalExtent(1000);CStdioFile *fsp=new CStdioFile(".list.txt",CFile:modeRead);CString str;while(fsp->ReadString(str)m_list.AddString(

29、str);fsp->Close();delete fsp;MoveMovieWindow();return TRUE; / return TRUE unless you set the focus to a control3)消息處理程序中各個按鍵及打開、保存、刪除、添加等消息處理示意如圖5-3所示。圖5-3 消息處理示意圖軟件在運(yùn)行中每個動作都要得到響應(yīng),也就是每個動作都會有一個消息,通過對每個消息的處理才能保證軟件正常的工作,也就是線程的控制代碼如下。void CMediaPlayerDlg:OnPlay() / TODO: Add your control notification

30、 handler code hereif (p_flag=0) m_ActiveMovie.SetFileName(m_pathname);/播放列表文件elsem_ActiveMovie.Run();/播放文件SetTimer(0,20,NULL);/設(shè)置定時器void CMediaPlayerDlg:OnPause() / TODO: Add your control notification handler code herep_flag=1;m_ActiveMovie.Pause();/暫停播放void CMediaPlayerDlg:OnStop() / TODO: Add your

31、 control notification handler code herep_flag=0;m_ActiveMovie.Stop();/停止播放文件KillTimer(0);/關(guān)掉定時器void CMediaPlayerDlg:OnCancel() / TODO: Add extra cleanup hereCDialog:OnCancel();void CMediaPlayerDlg:OnLower() j=0;if(i=0)m+;n-;/ TODO: Add your control notification handler code hereVolume=m_ActiveMovie.

32、GetVolume();if (m>5) AfxMessageBox("音量最小了!");i=1;else/m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);/m_ActiveMovie.Run();Volume=(Volume+502)/10+50;CString str;str.Format(_T("%ld"),Volume);SetDlgItemText(IDC_STATIC3,str);elseAfxMessageBox("音量最小了!");void CM

33、ediaPlayerDlg:OnUpper() i=0;if(j=0)m-;n+;/ TODO: Add your control notification handler code hereVolume=m_ActiveMovie.GetVolume();if (n>6) AfxMessageBox("音量最大了!");j=1;/n=0;else/m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);/m_ActiveMovie.Run();Volume=(Volume+702)/10+50;CStrin

34、g str;str.Format(_T("%ld"),Volume);SetDlgItemText(IDC_STATIC3,str);elseAfxMessageBox("音量最大了!");void CMediaPlayerDlg:OnFullscreen() / TODO: Add your control notification handler code herem_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovieWindowSize(S

35、W_SHOWMAXIMIZED);m_ActiveMovie.Run();void CMediaPlayerDlg:OnRepeat() / TODO: Add your control notification handler code hereif(!isRepeat)isRepeat=TRUE;SetDlgItemText(IDC_STATIC2,"模式:循環(huán)");elseisRepeat=FALSE;SetDlgItemText(IDC_STATIC2,"模式:單曲");void CMediaPlayerDlg:OnTimer(UINT nIDE

36、vent) / TODO: Add your message handler code here and/or call defaultdouble CurrentPos=m_ActiveMovie.GetCurrentPosition();if(CurrentPos=0&&isRepeat)/如果當(dāng)前是文件的起始位置而且為重復(fù)播放狀態(tài)m_ActiveMovie.Run();CDialog:OnTimer(nIDEvent);void CMediaPlayerDlg:MoveMovieWindow()CRect rc1, rc2, rc3;/ 得到 ActiveMovie 控件

37、的大小m_ActiveMovie.GetWindowRect(rc1);/ 保證對話框客戶區(qū)的寬不小于 300 像素,高不小于 225 像素if (rc1.Width()<300 | rc1.Height()<225)rc1.right=rc1.left+300;rc1.bottom=rc1.top+225;/ 獲得對話框的大小GetWindowRect(rc2);/ 獲得對話框客戶區(qū)的大小GetClientRect(rc3);m_ActiveMovie.GetWindowRect(rc1);GetClientRect(rc3);/ 使 ActiveMovie 控件在對話框的客戶區(qū)

38、居中m_ActiveMovie.MoveWindow(rc3.Width()-rc1.Width()/2,(rc3.Height()-rc1.Height()/2-50, rc1.Width(), rc1.Height();void CMediaPlayerDlg:OnOpenlist() / TODO: Add your control notification handler code hereflag=!flag;if (!flag) SetWindowPos(NULL,0,0,800,570,SWP_NOMOVE);elseSetWindowPos(NULL,0,0,1010,570,

39、SWP_NOMOVE);void CMediaPlayerDlg:OnAdd() char szFileFilter="媒體文件(*.avi,*.mp3,*.wma)|*.avi;*.mp3;*.wma|"CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR,szFileFilter);POSITION pos=dlg.GetStartPosition();if(dlg.DoModal()=IDOK) while(pos!=NULL)m_pathname=dl

40、g.GetNextPathName(pos);m_list.AddString(m_pathname);if (r_flag=1) OnSavelist();void CMediaPlayerDlg:OnDblclkListP() CString str;int index=m_list.GetCurSel();m_list.GetText(index,str);m_ActiveMovie.SetFileName(str);OnPlay();m_pathname=str;void CMediaPlayerDlg:OnSavelist() CStdioFile file;file.Open(&q

41、uot;.list.txt",CFile:modeCreate|CFile:modeReadWrite|CFile:typeText);for(int i=0;i<m_list.GetCount();i+)CString strtemp;m_list.GetText(i,strtemp);strtemp+="n"/需要換行file.WriteString(strtemp);file.Close();AfxMessageBox("保存成功!");void CMediaPlayerDlg:OnDel() int index1=m_list.G

42、etCurSel();m_list.DeleteString(index1);if (r_flag=1) OnSavelist();void CMediaPlayerDlg:OnRadio1() r_flag=0;void CMediaPlayerDlg:OnRadio2() r_flag=1;void CMediaPlayerDlg:OnOpenfile() ShellExecute(NULL, _T("open"), _T("d:MPlayerDebuglist.txt"), NULL, NULL, SW_SHOW);void CMediaPlayerDlg:OnS

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論