社区
C#
帖子详情
请教一个关于flash播放控件axShockwaveFlash的问题
ys_xian
2006-08-27 03:52:50
我在程序运行过程中想修改控件播放的flash,就是程序一开始运行就播放flash1,在一定的事件触发后想改为播放flash2。我在事件处理函数里修改了axShockwaveFlash.Movie的值,使得它指向新的flash2地址,但是不管update还是refresh,或者停止后在重新播放,屏幕上显示的都还是flash1的内容,请问大侠们该怎么做?
...全文
455
7
打赏
收藏
请教一个关于flash播放控件axShockwaveFlash的问题
我在程序运行过程中想修改控件播放的flash,就是程序一开始运行就播放flash1,在一定的事件触发后想改为播放flash2。我在事件处理函数里修改了axShockwaveFlash.Movie的值,使得它指向新的flash2地址,但是不管update还是refresh,或者停止后在重新播放,屏幕上显示的都还是flash1的内容,请问大侠们该怎么做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NOVAWU
2006-12-05
打赏
举报
回复
还有,你想判断第一个FLASH是否播放完毕,你可以加一个TIMER来判断 FrameNum (播放的当前位置) 是否等于 TotalFrames (文件总长度);
如果相等的话就说明 FLASH 播放完毕。接着就开始播放下一个FLASH。
NOVAWU
2006-12-05
打赏
举报
回复
呵呵。
但是不管update还是refresh,或者停止后在重新播放,屏幕上显示的都还是flash1的内容,请问大侠们该怎么做?
针对这个问题,你可以把 Movie="http://"
就OK了!~~ 我就是这么做的。
海里猿人
2006-09-18
打赏
举报
回复
用VS2005调用FLASH组件不能用,用2003可以。经过注册才可以用。
注册方法:运行->REGSVR32 路径+你的dll
sswwee
2006-08-28
打赏
举报
回复
你能告诉我axShockwaveFlash这个是怎么导进去么,我添加了flash9.ocx引用了,也在控件拦看到那个控件了,但是一拖进去就说没注册还是什么的,而且引用的那个地方shockwaveflash成功了而axShockwaveFlash这个有一个黄色叹号
ys_xian
2006-08-27
打赏
举报
回复
没人用过吗,希望高手们不吝赐教!
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();
在wpf中嵌入
flash
在wpf中嵌入
flash
,操作文档加程序
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#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里,试了其他位置,引用绝对地址都不行,不知为什么。
AxShock
wav
e
Flash
用法
对于应用程序开发的人员,特别是对在软件中
播放
动画的人员来说,特别有用。
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章