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

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


咨詢
建站咨詢
