新聞中心
最近在做一個(gè)有關(guān)VS2003控件和windows media player 控件的東西,剛開(kāi)始做的時(shí)候,在網(wǎng)上找了很久都沒(méi)找到相關(guān)的中文文檔。沒(méi)辦法,只好自己硬著頭皮慢慢查看MSDN上的有關(guān)內(nèi)容。由于VS2003控件與VC6有一定的區(qū)別,這也是我在查找資料和使用控件時(shí)遇到的具到困難。#t#

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的化德網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Windows media player作為MS的官方組件,MSDN上有著比較詳細(xì)的英文說(shuō)明,但是該說(shuō)明卻并不是那么讓人一目了然。該文就如何操作該組件的幾個(gè)主要接口以及一些基本功能的實(shí)現(xiàn)給與詳盡而明白的說(shuō)明,為使該文盡量簡(jiǎn)單易懂,本文給出了用windows media player控件編寫(xiě)一個(gè)簡(jiǎn)單播放器的基本步驟。
首先,創(chuàng)建一個(gè)對(duì)話框,然后在資源管理器中右擊對(duì)話框,選擇“插入Active控件”—〉選擇windows media player—〉將控件拉到適合大小—〉右擊player控件—〉選擇添加變量(m_avPlayer)。此時(shí)添加的變量在VS2003中不在時(shí)IWMPPlay4 了,而是COcx。
右擊類(lèi)視圖/解決方案—〉添加類(lèi)—〉選擇“Active中的MFC類(lèi)”—〉選擇windows media player<1.0>à選擇相應(yīng)的接口(IWMPMedia IWMPSettings IWMPControls IWMPPlaylist等等)生成類(lèi)。為圖方便,我將所有接口都生成了相應(yīng)的類(lèi)。
為了說(shuō)明方便,我在對(duì)話框中放了幾個(gè)按鈕,分別是:打開(kāi),播放,暫停,停止,添加。并在對(duì)話框右邊添加了一個(gè)clistctrl又來(lái)顯示播放列表。
然后在對(duì)話框頭文件中添加了以下變量:
- CWMPControls m_control;
- CWMPSettings m_set;
- CWMPPlaylist m_playlist;
- CWMPMedia m_media;
- COcx1 m_avPlayer;
- CListCtrl m_listCtrl;
一切準(zhǔn)備工作就緒,下面就涉及到具體的編程問(wèn)題了。media player 的主要功能有:播放控制,屏幕顯示,播放列表,播放列表集,播放信息顯示。
◆其中播放控制又有:打開(kāi),開(kāi)始,暫停,停止,快速播放,倒退等等。
打開(kāi):當(dāng)選擇一個(gè)文件打開(kāi)是,為打開(kāi)按鈕添加消息響應(yīng)函數(shù),在VS2003控件函數(shù)中添加如下代碼:
- char szFileFilter[]=
- "Mp3 File(*.mp3)|*.mp3|"
- "MPEG File(*.mpeg)|*.mpeg|"
- "Media File(*.asf)|*.asf|"
- "Video File(*.dat)|*.dat|"
- "MPGA File(*.mpga)|*.mpga|"
- "Wave File(*.wav)|*.wav|"
- "AVI File(*.avi)|*.avi|"
- "Movie File(*.mov)|*.mov|"
- "Mid File(*.mid;*,rmi)|*.mid;*.rmi|"
- "Wma File(*.wma)|*.wma|"
- "All File(*.*)|*.*||";
- CFileDialog fileDialog( TRUE,NULL,NULL,NULL,szFileFilter,this);
- if (fileDialog.DoModal() == IDOK)
- {
- CStringfileName=fileDialog.GetPathName();
- m_avPlayer.put_URL(fileName);
- }
◆下面來(lái)實(shí)現(xiàn)播放列表。為實(shí)現(xiàn)播放列表控制,首先在OnInitDialog()中添加代碼:
//創(chuàng)建一個(gè)播放列表
- char szFileFilter[]=
- "Mp3 File(*.mp3)|*.mp3|"
- "MPEG File(*.mpeg)|*.mpeg|"
- "Media File(*.asf)|*.asf|"
- "Video File(*.dat)|*.dat|"
- "MPGA File(*.mpga)|*.mpga|"
- "Wave File(*.wav)|*.wav|"
- "AVI File(*.avi)|*.avi|"
- "Movie File(*.mov)|*.mov|"
- "Mid File(*.mid;*,rmi)|*.mid;*.rmi|"
- "Wma File(*.wma)|*.wma|"
- "All File(*.*)|*.*||";
- CFileDialog fileDialog( TRUE,NULL,NULL,NULL,szFileFilter,this);
- if (fileDialog.DoModal() == IDOK)
- {
- CStringfileName=fileDialog.GetPathName();
- //創(chuàng)建一個(gè)媒體
- m_media = static_cast
(m_avPlayer.newMedia(fileName)); - //將媒體添加到播放列表
- m_playlist.appendItem(m_media);
- //將列表添加到當(dāng)前列表,以便實(shí)現(xiàn)自動(dòng)播放
- m_avPlayer.put_currentPlaylist(m_playlist);
- m_set = (CWMPSettings)m_avPlayer.get_settings();
- //參數(shù)true設(shè)置自動(dòng)播放,false不設(shè)置自動(dòng)播放
- m_set.put_autoStart(true);
- //將媒體的名字添加到列表控件
- m_listCtrl.InsertItem(0, m_media.get_name());
- }
◆播放信息的顯示
可以通過(guò)CWMPMedia類(lèi)獲取相關(guān)的媒體信息。
◆獲取播放文件名:
其他,如鼠標(biāo),接盤(pán)事件響應(yīng),可添加相應(yīng)的消息響應(yīng)函數(shù)
要注意的是,在添加如鼠標(biāo)一類(lèi)的消息時(shí),消息函數(shù)有個(gè)參數(shù)如nButton,它的值為1時(shí)是單擊鼠標(biāo)左鍵,2為單擊鼠標(biāo)右鍵消息,4為單擊鼠標(biāo)中鍵。等等。
新聞名稱(chēng):對(duì)于VS2003控件的看法與說(shuō)明的具體概述
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/cdihhje.html


咨詢(xún)
建站咨詢(xún)
