设为首页 加入收藏

TOP

vc开发简单的flash播放器(一)
2013-07-22 18:15:47 来源: 作者: 【 】 浏览:266
Tags:开发 简单 flash 播放器

  近日朋友问在VC中如何控制flash文件,俺也没有做过以前,俺是新手再次声明,很菜的,嘿嘿,但俺也期望成为大侠,能够叱诧风云,仗剑行走江湖,路遇不平排忧解难,英雄美女,朝阳晚霞,青山绿水。。。哈,不好意思,写着写着就歪了。但恐怕所有Man都有过这个理想吧。

  转入正题,嗯。。。对了,朋友有难不能不帮,况且还是位MM,哈。。。俺只好上网找资料了,在baidu搜了一下资料不是很多啊,后来看到有一个用vb做的DIY  flash播放器的,就看了一下(就是下面贴的这个)。实现步骤挺简单的,使用Shockwaveflash控件实现,转化成vc实现。

  嚯嚯。。。可以向MM邀功了。。。

  实现步骤如下:

  1。新建一个基于对话框的程序,添加变量:

  int m_nTimer;  //Timer时间控制

  bool timerflag;  //Timer启用的标志

  bool screenflag;  //全屏的标志

  bool playflag;  //有无文件打开的标志

  CRect flashrect;  //记录Shockwaveflash组件的矩形区域

  WINDOWPLACEMENT m_FlashPos;  //记录Shockwaveflash组件的状态

  WINDOWPLACEMENT m_WndPos;  //记录对话框窗口的状态

  在对话框的构造函数中将所有bool变量赋值为FALSE。

  2。在窗体上添加按钮(为了实现简单,俺的功能调用都是通过按钮实现的),设置Capture分别为:“打开” 、“播放”、“暂停”、“停止”、“重播”、“后退”、“前进”、“末帧”、“快退”、“快进”、“放大”、“缩小”、“还原”、“关闭”、“全屏”。

  3。添加一个Shockwaveflash控件,为Shockwaveflash控件添加变量flash;

  添加一个CSliderCtrl控件,ID为IDC_SLIDER1。

  4。为各个按钮添加处理代码:

  “打开”按钮代码:

  char szFilters[]="MyType Files (*.swf)|*.swf||";

  CFileDialog fileDlg (TRUE, "swf", "*.swf",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,szFilters, this);

  if( fileDlg.DoModal ()==IDOK )

  {

  CString pathName = fileDlg.GetPathName();

  flash.put_Movie(pathName);

  playflag=TRUE;

  if(!timerflag)

  {

  m_nTimer=SetTimer(1,100,0);  //开启计时器

  timerflag=!timerflag;

  }

  }

  “播放”按钮代码:

  flash.Play();

  “暂停”按钮代码:

  flash.Stop();

  “停止”按钮代码:

  flash.Rewind();

  flash.Stop();

  “重播”按钮代码:

  flash.Rewind();

  flash.Play();

  “后退”按钮代码:

  flash.Back();

  “前进”按钮代码:

  flash.Forward();

  “末帧”按钮代码:

  flash.GotoFrame(flash.get_TotalFrames()-1);

  “快退”按钮代码:

  int current=flash.CurrentFrame();

  if(current>4)

  {

  current-=5;

  flash.GotoFrame(current);

  }

  else

  {

  flash.put_FrameNum(0);

  }

  “快进”按钮代码:

  int current=flash.CurrentFrame();

  int i=flash.get_FrameNum();

  if(current<flash.get_TotalFrames()-5)

  {

  current+=5;

  flash.GotoFrame(current);

  }

  else

  {

  flash.put_FrameNum(flash.get_TotalFrames()-1);

  }

  “放大”按钮代码:

  flash.Zoom(50);

  “缩小”按钮代码:

  flash.Zoom(200);

  “还原”按钮代码:

  flash.Zoom(0);

  “关闭”按钮代码:

  flash.put_Movie("http://");

  KillTimer(m_nTimer);  //停止计时器

  CSliderCtrl *m_pSlider=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);

  m_pSlider->SetPos(0);  //滑块置零

  timerflag=FALSE;////////////////////////////////

  playflag=FALSE;////////////////////////////////

   

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC各种链接错的解决办法 下一篇VC解决绘图闪烁问题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: