資源描述:
《vc開發(fā)簡單的flash播放器》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、.word可編輯.vc?開發(fā)簡單的flash?播放器作者:未知文章來源:網(wǎng)絡(luò)近日朋友問在VC中如何控制flash文件,俺也沒有做過以前,俺是新手再次聲明,很菜的,嘿嘿,但俺也期望成為大俠,能夠叱詫風(fēng)云,仗劍行走江湖,路遇不平排憂解難,英雄美女,朝陽晚霞,青山綠水。。。哈,不好意思,寫著寫著就歪了。但恐怕所有Man都有過這個(gè)理想吧。??轉(zhuǎn)入正題,嗯。。。對了,朋友有難不能不幫,況且還是位MM,哈。。。俺只好上網(wǎng)找資料了,在baidu搜了一下資料不是很多啊,后來看到有一個(gè)用vb做的DIY??flash播放器的,就看了一下(就是下面貼的這個(gè)
2、)。實(shí)現(xiàn)步驟挺簡單的,使用Shockwaveflash控件實(shí)現(xiàn),轉(zhuǎn)化成vc實(shí)現(xiàn)。??嚯嚯。。??梢韵騇M邀功了。。。??實(shí)現(xiàn)步驟如下:??1。新建一個(gè)基于對話框的程序,添加變量:??int?m_nTimer;??//Timer時(shí)間控制?????bool?timerflag;??//Timer啟用的標(biāo)志?????bool?screenflag;??//全屏的標(biāo)志???????bool?playflag;??//有無文件打開的標(biāo)志?????CRect?flashrect;??//記錄Shockwaveflash組件的矩形區(qū)域?????WI
3、NDOWPLACEMENT?m_FlashPos;??//記錄Shockwaveflash組件的狀態(tài)?????WINDOWPLACEMENT?m_WndPos;??//記錄對話框窗口的狀態(tài)?????在對話框的構(gòu)造函數(shù)中將所有bool變量賦值為FALSE。?.專業(yè).專注..word可編輯.?2。在窗體上添加按鈕(為了實(shí)現(xiàn)簡單,俺的功能調(diào)用都是通過按鈕實(shí)現(xiàn)的),設(shè)置Capture分別為:“打開”?、“播放”、“暫?!?、“停止”、“重播”、“后退”、“前進(jìn)”、“末幀”、“快退”、“快進(jìn)”、“放大”、“縮小”、“還原”、“關(guān)閉”、“全屏”。?
4、?3。添加一個(gè)Shockwaveflash控件,為Shockwaveflash控件添加變量flash;?????添加一個(gè)CSliderCtrl控件,ID為IDC_SLIDER1。??4。為各個(gè)按鈕添加處理代碼:????“打開”按鈕代碼:??char?szFilters[]="MyType?Files?(*.swf)
5、*.swf
6、
7、";??CFileDialog?fileDlg?(TRUE,?"swf",?"*.swf",OFN_FILEMUSTEXIST
8、?OFN_HIDEREADONLY,szFilters,?this);??if(
9、?fileDlg.DoModal?()==IDOK?)???????{?????????CString?pathName?=?fileDlg.GetPathName();??????flash.put_Movie(pathName);??????playflag=TRUE;????????if(!timerflag)????{???m_nTimer=SetTimer(1,100,0);??//開啟計(jì)時(shí)器???timerflag=!timerflag;????}?.專業(yè).專注..word可編輯.?}?????????“播放”按鈕代碼:?
10、???flash.Play();??????????“暫停”按鈕代碼:?????flash.Stop();??????????“停止”按鈕代碼:?????flash.Rewind();???????flash.Stop();???????“重播”按鈕代碼:??flash.Rewind();??flash.Play();??????“后退”按鈕代碼:??flash.Back();??????“前進(jìn)”按鈕代碼:??flash.Forward();????.專業(yè).專注..word可編輯.??“末幀”按鈕代碼:???flash.GotoFra
11、me(flash.get_TotalFrames()-1);???“快退”按鈕代碼:???int?current=flash.CurrentFrame();???if(current>4)???{???current-=5;???flash.GotoFrame(current);???}???else???{???flash.put_FrameNum(0);???}?????“快進(jìn)”按鈕代碼:???int?current=flash.CurrentFrame();???int?i=flash.get_FrameNum();???if(
12、current