社区
C#
帖子详情
axShockwaveFlash播放Flash的问题
skykiller1982
2013-12-26 04:51:07
急急急有人!!!
遇到过使用axShockwaveFlash控件加载swf文件时,有些swf可以成功加载并显示,有些swf文件加载后无显示的问题吗?不能加载的swf在flash player中都可以正常播放!
...全文
37
1
打赏
收藏
axShockwaveFlash播放Flash的问题
急急急有人!!! 遇到过使用axShockwaveFlash控件加载swf文件时,有些swf可以成功加载并显示,有些swf文件加载后无显示的问题吗?不能加载的swf在flash player中都可以正常播放!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skykiller1982
2013-12-26
打赏
举报
回复
自己先顶一下吧~!
C#winform
播放
flash
这个是学习如何在winform里调用
flash
。 环境:win8,vs2013,
flash
CS5.5 1)新建winform项目 2)toolbox items添加COM组件》》
flash
.ocx,地址在c:\windows\system32\macromed\
flash
\
flash
.ocx,然后选择Macro和shock
wav
e开头的两个 3)在toolbox拖动shock
wav
e到form里 4)双击shock
wav
e编写代码: private void
axShock
wav
e
Flash
1_Enter_2(object sender, EventArgs e) {
axShock
wav
e
Flash
1.Movie = Application.StartupPath + "//trailer1.swf";
axShock
wav
e
Flash
1.Play(); } 5)swf资源要放到bin/debug里,试了其他位置,引用绝对地址都不行,不知为什么。
在wpf中嵌入
flash
在wpf中嵌入
flash
,操作文档加程序
flash
控件
AxShock
wav
e
Flash
Objects
用于
flash
的运用C#编程嵌入
flash
可用此控件控件 //fileName为
FLASH
文件路径+
FLASH
文件名 string fileName=oDialog.FileName; this.
axShock
wav
e
Flash
1.Movie=fileName; this.
axShock
wav
e
Flash
1.Play();
flash
与C#通信 CallFunction 出现COM组件错误的处理
flash
与C#通信 CallFunction 出现COM组件错误的处理
flash
在C#中的应用
很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是
Flash
做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的
Flash
右键菜单。 因此将
Flash
融合到WinForm中能够增强程序的多媒体效果和炫丽的外观。现在我们就来看看在C#桌面程序中如何插入
Flash
视频,而且去掉烦人的右键菜单。 首先要插入
Flash
就必须使用
Flash
控件,在工具栏右键选择“选择项…”,然后在“COM组件”面板下点击“浏览”按钮,在本机电脑C:\WINDOWS\system32\Macromed\
Flash
\目录里选择
Flash
8.ocx(也有可能是
Flash
9F.ocx,版本不同所致),然后点击确定就可以了。但到这里还没有完,因为要使用
Flash
控件必须注册它。 在CMD里面输入如下: regsvr32 C:\WINDOWS\system32\Macromed\
Flash
\
Flash
8.ocx 系统会提示注册成功,这个时侯就可以在VS2008里面使用该控件了! 打开VS2008,新建一个Windows程序,然后把刚才我们选择的
Flash
控件Shock
wav
e
Flash
Object拖到窗体中,这时窗体中会出现一个白色的矩形框,Name属性我们设置为My
flash
,在里面可以
播放
我们需要的swf文件。 注意到该控件主要有几个属性: Name属性,这个是所有对象都会有的。 Menu属性,这个是
Flash
菜单项,默认值为true,也就是右键的时候会出现完整的
Flash
菜单,如果设置为False,则只出现最简的菜单(设置与关于)。 Move属性,这个属性是用来指定要
播放
的
Flash
文件的。 Playing属性,指定是否装在影片之后马上
播放
。 Quality属性,设置影片的质量。 Scalemode属性,设置影片的缩放模式。 Visible属性,设置影片控件的可视与否。 接下来我们在窗体中放置一个按钮,Text属性设置为LoadSwf。双击添加事件代码如下: OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "
Flash
文件|*.swf"; DialogResult dr = ofd.ShowDialog(); if (dr == DialogResult.OK) { My
flash
.Movie = ofd.FileName; My
flash
.Play(); } 这样当程序运行的时候点击按钮会要我们选择一个SWF文件,选择好后确定就自动
播放
了! 当然,我们还可以添加一些按钮,分别为Play,Pause Play按钮的
播放
功能如下: This.My
flash
.Play(); Pause按钮的暂停功能如下: This.My
flash
.StopPlay(); 这里就不再啰嗦了,各位园友可以自行去研究一些常用的功能。下面我们主要来讲解如何消去烦人的
Flash
右键菜单! 消去
Flash
右键菜单有两种方法(本人愚笨,到目前只发现这两种): 方法一: 这个方法比较复杂,也比较繁琐,主要是用到API函数的调用。代码如下: #region 去掉
Flash
右键菜单,API函数的声明 private const int GWL_WNDPROC = -4; public delegate IntPtr FlaWndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); private IntPtr OldWndProc = IntPtr.Zero; private FlaWndProc Wpr = null; [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex, FlaWndProc wndProc); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr CallWindowProc(IntPtr wndProc, IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); private IntPtr
Flash
WndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam) { if(msg == 516) //516就是对应鼠标的右键,当然你也可以用0X0204右键鼠标的16进制编码 return (IntPtr)0; //什么都不做 return CallWindowProc(OldWndProc, hWnd, msg, wParam, lParam); } #endregion 将以上代码放在窗体声明字段的地方。 注:要调用API函数就必须引用一个命名空间: using System.Runtime.InteropServices; 然后在窗体的载入事件里面添加如下代码: private void
Flash
_Load(object sender, EventArgs e) { this.Wpr = new FlaWndProc(this.
Flash
WndProc); this.OldWndProc = SetWindowLong(My
flash
.Handle, GWL_WNDPROC, Wpr); //关联
flash
控件 } 如此则大功告成,看看是不是把
Flash
右键菜单给去掉了!! 方法二: 这个方法很简单,也很灵活,主要用到继承和重写等面向对象的核心内容。 首先声明一个类,让它去继承
AxShock
wav
e
Flash
Objects.
AxShock
wav
e
Flash
,该类是实例化
Flash
控件生成的类。该类中包含各种
Flash
的事件和属性,在这里我们只对右键菜单的事件感兴趣,因此我们去重写该事件。 类的代码如下: public class
Flash
RightKey :
AxShock
wav
e
Flash
Objects.
AxShock
wav
e
Flash
{ //定义一个公共类
Flash
RightKey(类名自己定义)来继承
AxShock
wav
e
Flash
Objects.
AxShock
wav
e
Flash
(在实例化Shock
wav
e
Flash
Object控件后生成)类 protected override void WndProc(ref Message m) //重载WndProc方法(此方法即消息处理机制) { if (m.Msg == 0X0204) //0×0204即鼠标右键的16进制编码 return; //返回并不输出 else base.WndProc(ref m); //如果不是右键的话则返回正常的信息 } } 类写好了,我们要在
Flash
控件里面使用它,必须在实例化
Flash
控件的时候用如下代码(写在
Flash
.Designer.cs文件相应的地方): private
Flash
RightKey My
Flash
2; this.My
Flash
2 = new Namespace.
Flash
RightKey(); 注:Namespace为工程项目的命名空间。 剩下的就和不用我多说了,大功告成,实现了
Flash
控件去掉右键菜单。 以上代码在 XP+VS2008+
Flash
8
播放
器 调试通过。 本文也只是抛砖引玉,至于如何获取点击事件以及和其他控件的通信则是比较高深一点的知识了,各位朋友互相勉励,想更高深的知识挺进!
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章