千锤百炼VC++实例(连载12) flash播放器的制作

原创 2006年06月06日 19:07:00

孤狼工作室 Visual C++ 实例连载

实例12 Flash播放器的制作

1.创建一对话框应用程序,工程名:Flash

2.删除对话框中的控件,添加一个Flash控件。具体步骤如下:如果在制作这个flash播放器之前没有装过制作flash 的软件flash MX的话,就要先注册一下控件,点击菜单中的工具,点ActiveX Control Test Container,在弹出的对话框中点 file--Regisster controls---Register,找到 Flash8b.ocx ,如果没有到网上下载一个。最后点击打开即可完成注册。

3 。将控件添加到控件工具栏中:点击  工程---添加的工程---Components and Controls Gallery,双击

Registered ActiveX Controls 文件夹,找到Shockwave Flash Object.lnk,选中点击Insert 即可添加到控件工具栏中。将其拖到对话框中,并调整好位置大小。

4.为Flash播放器添加一个菜单:点击插入---资源--Menu 点击 新建,即可插入一个菜单资源,可到资源视图中察看。为菜单资源添加类:点击类向导,在弹出的对话框中选择 Select an existing class,在弹出的对话框中选择 CFlashDlg 完成菜单类的创建。

5。编辑菜单,其添加  文件--打开--关闭 的一个下拉菜单项。修改 打开 的ID为ID_OPEN,关闭的ID为ID_CLOSE。

6.分别为ID_OPEN、ID_CLOSE添加鼠标单击相应函数,ID_OPEN代码如下:

void CFlashDlg::OnOpen()
{
 // TODO: Add your command handler code here
 CFileDialog
 dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("Flash文档.swf|*.swf|"));
 if(dlg.DoModal()==IDOK)
 {
        m_strPathName=dlg.GetPathName();
  UpdateData(FALSE);
 }
 m_flash.SetMovie(m_strPathName);
 m_flash.GotoFrame(0);
 m_flash.Stop();

}

ID_CLOSE代码如下:

void CFlashDlg::OnClose()
{
 // TODO: Add your command handler code here
 OnOK();
}

7.为了让对话框窗口大小能够变化,还应该勾选对话框属性的样式中的最小话框、最大化框。为了让Flash控件在播放过程中的大小能够随着窗口的变化而变化,还应加入以下代码:

(1)添加之前先给控件定义一个变量:m_flash

(2)为对话框添加WM_SZIE函数,代码如下:

void CFlashDlg::OnSize(UINT nType, int cx, int cy)
{
 CDialog::OnSize(nType, cx, cy);
 
 // TODO: Add your message handler code here
 CRect rect;
 if(m_flash.GetSafeHwnd())
 {
  m_flash.GetWindowRect(&rect);
  ScreenToClient(&rect);
  m_flash.MoveWindow(0,0,cx,cy,TRUE);
 }

}

这样当我们在播放过程中动画的大小就能随窗口的变化而变化了。

一个基本的Flash播放器就做好了,当然你可以在此基础上继续完善它的功能。欢迎交流:QQ:84237758


本程序经孤狼工作室在 Windows 2000 Server + Visual C++ 6.0 中编译运行通过。如有问题可加QQ:84237758

以后孤狼工作室将陆续添加更多的实例,敬请期待!

 

GDI VC++重绘控件做的音乐播放器

用GDI重绘控件做的播放器。播放MP3格式的音乐。音乐部分用MCI接口。控件部分进行了自绘。 源码暂时在优化。还有小功能没完善。比如歌曲列表歌曲的存储。不用没关闭打开一次就要添加一次。比如歌词...
  • runner2012
  • runner2012
  • 2014年01月03日 15:27
  • 4276

Flash--元件和实例

.元件简述: 元件在Flash影片中是一种特殊的对象,在Flash中只需要创建一次,然后可以在整部电影中反复使用而不会显著增加 文件大小。 其实在使用元件时,我们一般使用的是该元件的实例,所以说...
  • u010792238
  • u010792238
  • 2014年06月16日 15:58
  • 1429

Flash视频播放器开发经验总结

HTTP协议更优目前几乎所有的视频点播网站全部采用HTTP协议传输数据。因为相对于诸如RTMP等协议来说,HTTP协议是无状态的,数据传输完毕就断开连接,这样服务器就可以腾出资源来服务更多的用户。而R...
  • u014723529
  • u014723529
  • 2016年01月26日 17:55
  • 2861

网页上嵌入Flash播放器(1)

最近做的项目里涉及到了Flash播放器的使用,网页上需要播放视频,不同的视频资源需要不同的播放器,根据使用的稳定性、嵌入的复杂程度以及性能的优劣总结了两种嵌入方式(不同的播放器),支持的视频资源也略有...
  • smszhuang168
  • smszhuang168
  • 2014年07月29日 01:18
  • 1542

7款Flash和Javascript网页视频播放器

转自:http://paranimage.com/7-flash-and-javascript-web-video-players/ 7款Flash和Javascript网页视频播放器。...
  • hdchangchang
  • hdchangchang
  • 2013年12月11日 14:23
  • 2969

Flash播放器常用参数设置_应用技巧

做游戏官网总会遇到在页面中写入flash的时候:
  • Liqianqian158288
  • Liqianqian158288
  • 2016年01月29日 17:52
  • 1688

10款Flash和Javascript网页音乐播放器

转自:http://paranimage.com/10-flash-and-javascript-music-players/ 10款音乐播放器, 有基于Javascript的网页音乐播放器,也...
  • hdchangchang
  • hdchangchang
  • 2013年12月11日 14:19
  • 4918

几款swf flv flash网页播放器

项目中需要在网页中嵌入flv视频,这才发现想找一个跨浏览器,并能在各个手机浏览器中也能正常显示的flv网页播放器真是困难啊! 先列一些播放器在下面作参考了,但没有时间一个个去检查! ~~~~(>_ ...
  • freshlover
  • freshlover
  • 2013年05月16日 11:45
  • 6220

强力推荐几种多媒体播放器方案(jQuery、Flash、HTML5)

记得以前我们想要在网页中插入一段音频或者视频时,首先,baidu或者google一下,目的是要找那段又长又臭的object和embed代码,然后再把它们贴到网页中,然后还发现不同的浏览器写法还不一样,...
  • GoodShot
  • GoodShot
  • 2013年05月06日 15:41
  • 11339

Html5结合flash在所有主流播放器播放视频的方法

转自http://www.aimks.com/html5-combined-with-flash-method-in-all-mainstream-video.html Html5结合flash...
  • u010953266
  • u010953266
  • 2015年04月26日 15:18
  • 8305
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:千锤百炼VC++实例(连载12) flash播放器的制作
举报原因:
原因补充:

(最多只允许输入30个字)