转:.Net 中AxShockwaveFlash的解析
发布时间:2020-12-15 07:00:36 所属栏目:百科 来源:网络整理
导读:1.AlignMode?(读写)? 语法:AlignMode?As?Long? 说明:对齐方式(与?SAlign?属性联动)。当控件的?长宽比例与影片不一致且?WMode?不为?ExactFit?时,影片(没有被放大的)在控件中显示的位置可用该属性调整。?该属性值由标志位组成。如图,将该属性值(二
1.AlignMode?(读写)?
语法:AlignMode?As?Long? 说明:对齐方式(与?SAlign?属性联动)。当控件的?长宽比例与影片不一致且?WMode?不为?ExactFit?时,影片(没有被放大的)在控件中显示的位置可用该属性调整。?该属性值由标志位组成。如图,将该属性值(二进制)中相?应的位标记为?1?就设置了相应的对齐方向。? 属性值与相应的对齐方式(后面括号里是二进制数)? ??????????????1:左对齐(0001)??2:右对齐(0010)??4:顶对齐?(0100)??8:底对齐(1000)? 也可以组合各种对齐方式,同时将两个或以上的位标?记为?1?,也就是将这四个基本值组合相加。比如同时左对齐?和顶对齐,属性值则设为?5(0101)。? 例子?:?设置影片为右对齐?:? movie.AlignMode?=?2? 2.BackgroundColor(读写)?语法:BackgroundColor?As?Long?说明:影片的背景色(与?BGColor?联动)。以(红×?65536?+绿×?256?+蓝)计算颜色值。红绿蓝颜色取?值范围(0-255?)。默认的影片背景色为?-1?。如果影片?设置了底色或有图片当作背景,那么看不出来该属性值的?改变会有什么影响?。? 例子:将影片背景色设为蓝色?:? movie.BackgroundColor?=?255? 3.Base?(读写)? 语法:Base?As?String? 说明:指定用于解决影片中所有相对路径的声明的基地址。当影片与其需要的其他文件不在同一目录中的时候该?属性特别有用。如不特别指定,Base?的值默认为?".",也就?是当前影片所在的路径。? 例子?:? movie.Base?=?"Http://www.domain.com/pathname1/? pathname2"? 4.BGColor?(读写)? 语法:BGColor?As?String? 说明:影片的背景色(与?BackgroundColor?联动)。与?BackgroundColor?不同的是,BGColor?是一个六位的十六进?制数,每两位分别代表红绿蓝颜色值。如:FFEEAA?表示?红色值为?FF、绿色值为?EE?、蓝色值为?AA?。? 例子:将影片背景色设为红色?:? movie.BGColor?=?"FF0000"? 5.DeviceFont?(读写)? 语法:DeviceFont?As?Boolean? 说明?:?决定是否使用影片内嵌的字体?,?默认值为?False?。将该属性值设为?True?则强制播放器不使用影片中?内嵌的字体而使用本地系统字体。? 例子:movie.DeviceFont?=?True? 6.EmbedMovie?(读写)? 语法:EmbedMovie?As?Boolean? 说明:影片是否被存贮到控件所在的容器中。当你已?载入一个影片后将该属性设为?True?,播放影片时就不必再?去读?SWF?文件了。这使得在?PowerPoint?简报或?VB?程序?里使用?Flash?影片更容易。但将该属性设为?True?后,控?件的?Movie?属性就不再接受新的值了。要想播放另一个影?片(给?Movie?属性赋新值),必须先将?EmbedMovie?属?性设为?False?。? movie.EmbedMovie?=?True? 7.FrameNum?(读写)? 语法:FrameNum?As?Long? 说明:影片当前帧的编号?(从?0?开始计数?)。设置?该属性值将使影片停在由?FrameNum?指定的帧处。? 例子?:?显示当前帧数?:? MsgBox?"?当前显示的是第?"?&?movie.FrameNum?&? "?帧。"? 使影片显示第?10?帧:?Bomovie.FrameNum?=?9? 8.Loop?(读写)? 语法:Loop?As?Boolean? 说明:是否循环播放。设为?True?是循环播放,设为?False?则只播放一次。? movie.Loop?=?True? 9.Menu?(读写)? 语法:Menu?As?Boolean? 说明:是否显示菜单。设为?True?显示所有菜单,设?为?False?菜单被屏蔽,但仍有一项“About?Macromedia?Flash?Player...”。如果你实在不喜欢这个菜单,应该在程?序中通过拦截鼠标消息的方法来达到目的。与在独立的?F?l?a?s?h?播放器中不同的是?,在控件的右键菜单里点? “About...”的话,将打开浏览器到?Macromedia?的网站上去?看?About?了。 movie.Menu?=?False? 10.Movie?(读写)? 语法:Movie?As?String? 说明:要播放的影片路径(URL?)。设置该属性为?一个?SWF?文件的?URL?将载入文件并播放它。若影片是在?本地硬盘上,要写成从盘符开始的绝对路径;若影片是在某网站上,也要写全?URL?地址。? movie.Movie?=?"http://www.domain.com/path1/path2/filename.swf"?或? movie.Movie?=?"c:temptest.swf"? 11.Playing?(只读)? 语法:Playing?As?Boolean? 说明:当前播放状态。如果影片正在播放,该属性?值为?True?,否则为?False?。? If?movie.Playing?=?False?Then?MsgBox?"?影片已停止播放!?"?End?If? 12.Quality?(读写)? 语法:Quality?As?Long? 说明:画面质量(与?Quality2?联动)。Quality?可以取:? 0?——相当于?Quality2?取?"Low"? 1?——相当于?Quality2?取?"High"? 2?——相当于?Quality2?取?"AutoLow"? 3?——相当于?Quality2?取?"AutoHigh"?例子?:? movie.Quality?=?1? 13.Quality2(读写)? 语法:Quality?As?String? 说明:画面质量(与?Quality?联动)。Quality2?可以取:?Low?:偏重于播放速度而不管显示效果,而且不启用消锯齿功能?。? High?:偏重于画面而不管播放速度,并且总是启用?消锯齿功能。如果影片中不包含动画就平滑处理位图;如?果有动画,那么位图就不被平滑处理。(这里的动画应该?是把一张图片做平移或旋转)? AutoLow?:先着重于播放速度,但只要有可能就改?善显示效果。一开始播放时先禁用消锯齿功能。如果播放?器检测到处理器能承受得了?,就启用消锯齿功能?。? AutoHigh:一开始是播放速度和显示效果并重,但?如有必要就牺牲画质确保速度。开始播放时就启用消锯齿?功能。但如果实际的帧速率比设计时指定的速率慢了,就?禁用消锯齿功能来提高播放速度。? movie.Quality2?=?"High"? 14.ReadyState(只读)? 语法:ReadyState?As?Long? 说明:影片的当前状态。ReadyState?可以取:? 0?——正在载入? 1?——未初始化? 2?——已载入? 3?——正在交互? 4?——完成?例子?:? If?movie.ReadyState?=?4?Then? MsgBox?"?影片载入完成!?"?End?If? 15.SAlign?(读写)? 语法:SAlign?As?String? 说明:对齐模式(与?AlignMode?联动)。当?AlignMode? 代表各对齐模式的位被置“1”时,SAlign?值也相应被设为? “L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各字符的组合(‘L’、‘T’、‘R’、‘B’的先后顺序不变)? 例子:设置影片为左对齐和顶对齐:? movie.SAlign?=?"LT"? 16.Scale?(读写)? 语法:scale?As?String? 说明:缩放模式(与?ScaleMode?联动)。Scale?可以?取:? ShowAll?——在控件内显示全部影片区域,保持影片?长宽比例不变,影片的大小决定于控件长或宽中较小的一?边?。? NoBorder?——在控件内显示部分影片区域,保持影片?长宽比例不变,影片的大小决定于控件长或宽中较大的一?边?。? ExactFit?——在控件内显示全部影片区域,将影片的长?宽比例强制等于控件的长宽比例。 MsgBox?"?当前的缩放模式是:"?&?movie.Scale? 17.ScaleMode(读写)? 语法:ScaleMode?As?Long? 说明:缩放模式(与?Scale?联动)。ScaleMode?可以取:? 0?——相当于?Scale?取?"ShowAll"? 1?——相当于?Scale?取?"NoBorder"? 2?——相当于?Scale?取?"ExactFit"? 例子:使影片的缩放模式改成“ExactFit?”:? movie.ScaleMode?=?2? 18.Stacking?(读写)? 语法:Stacking?As?String? 说明:用于?HTML,将?Flash?Player?当成?HTML?中?的一种“行为”使用时,该属性决定?Flash?影片相对于与其?参照的?HTML?内容如何显示。(有关“行为”请参阅样式表?的资料)。Stacking?可以取:? none?——“行为”不显示。? replaceall?——“行为”的显示取代全部其他元素的内?容?,?包括背景?。? content?——“行为”的显示只取代其他元素的内?容。? background?——“行为”的显示只取代其他元素的背?景?。? below?——“行为”在所有其他元素内容的下面显?示。? belowflow?——“行为”以反向?Z?顺序显示在其他元素?的子对象之上?,但在该元素主要内容之上。? aboveflow?——“行为”以正向?Z?顺序显示在其他元素?的子对象之下?,但在该元素主要内容之上。? above?——“行为”显示在所有其他元素的内容之上。? top?——“行为”的显示置于整个页面内容之上。?例子?:? movie.Stacking?=?"below"? 19.TotalFrames(只读)? 语法:TotalFrames?As?Long? 说明:返回影片中总帧数。该参数要到影片载入完成?才有效(ReadyState=4)。? MsgBox?"?本影片共有?"?&?movie.TotalFrames?&?"?帧。"? End?If? 20.WMode?(读写)? 语法:WMode?As?String? 说明:控件的窗口模式。WMode?可以取:?Window?——?WMode?属性的默认值,按?Flash?播放器? 典型的方式工作,即在控件的矩形窗口中播放影片,这样一?般都能提供最快的动画效果。? Opaque?——使影片不透明。?Transparent?——创建一个透明的影片。如果影片中有? 透明的片段,放到这里时,就可以看到控件下面的背景。但?使用此属性值,动画的播放速度可能会慢一些。 movie.WMode?=?"Transparent" 方法: 1.Back? 语法:Back()? 说明?:?影片后退一帧?,?并且停止播放?。?例子?:? movie.Back? 2.Forward? 语法:Forward()? 说明?:?影片前进一帧?,?并且停止播放?。?例子?:? movie.Forward? 3.GotoFrame? 语法:GotoFrame(FrameNum?As?Long)?说明:将影片跳转到由?FrameNum?指定的帧,并且? 停止播放。如果所指定的帧还未载入,播放器前进到最后?的可用帧并停下,在调用过程中会产生无法预料的后果。?最好使用?PercentLoaded?方法来确定是否已载入足够的影片?来执行本方法。参数?FrameNum?是从?0?开始的,这和?Flash?中的?Goto?动作不一样,它是从?1?开始的。? 例子:跳转到影片的第?20?帧:? movie.GotoFrame?20? 4.LoadMovie? 语法:LoadMovie(layer?As?Long,?url?As?String)?说明:将由?url?指定的影片载入到由?layer?指定的层上。?例子:将?movie.swf?载入至?0?层:? movie.LoadMovie?0,?"movie.swf"? 5.Pan? 语法:Pan(x?As?Long,?y?As?Long,?mode?As?Long)?说明:将一个放大过的影片平移由?x?和?y?指定的距离。? x?和?y?均为相对值。即控件相对于影片来说平移的距离(你?可以想象控件是一个窗户,影片是我们从窗户里看到的放?在外面的布景,?我们看到窗户相对于布景平移了一些距离,?那是外面的布景在动,而窗户是不动的)。用?mode?参数?来指定?x?和?y?的值是像素还是窗口的百分比,当?mode=0?时?坐标系以像素为单位;mode=1?时坐标系就以窗口的百分?比来计算。?平移并不能超出影片的边框,也就是说,往?一个方向平移最多到达影片的边缘与控件对齐的程度。? 例子:控件相对于影片向左向上各平移?5?个像素(当?然控件不会动?,是影片向右向下平移了?):? movie.Pan?5,5,0? 6.Play? 语法:Play()? 说明:?开始播放影片。?例子:? movie.Play? 7.Rewind? 语法:Rewind()? 说明:?倒带。返回到影片的第一帧?。?例子:? movie.Rewind? 8.SetVariable? 语法:SetVariable(name?As?String,?value?As?String)?说明:将由?name?指定的?Flash?变量值设为?value。? 例子:movie.SetVariable?"/Form:UserName",?"John?Smith" 9.SetZoomRect? 语法:SetZoomRect(left?As?Long,?top?As?Long,?right? As?Long,?bottom?As?Long)? 说明:?将影片中指定的矩形区域放大到控件的大小。?left(左)、top(顶)、right(右)、bottom(底)的坐标值是相?对于控件中的影片有效位置计算的。注意哟,这个函数是?从影片的有效区域的左上角开始计算,而不是控件的左上?角?。? 例子:放大影片中从左上角开始的?200?×?200?点的矩?形区域?:? pointsToTwips?=?20;? movie.SetZoomRect?0,?0,?200?*?pointsToTwips,?200? *?pointsToTwips 10.Stop? 语法:Stop()? 说明?:?停止播放影片?。?例子:movie.Stop? 11.StopPlay? 语法:StopPlay()? 说明?:?停止播放影片?。?例子:movie.StopPlay? 12.TCallFrame? 语法:TCallFrame(target?As?String,?FrameNum? As?Long)? 说明:在由?t?a?r?g?e?t?指定的时间轴中,执行由?FrameNum?指定的帧中的动作。? 例子:要运行主时间轴中第?5?帧的动作:? movie.TCallFrame?"/",?4? 13.TCallLabel? 语法:TCallLabel(target?As?String,?label?As?String)?说明:在由?target?指定的时间轴中,执行由?label?指? 定的帧中的动作。?例子:要运行主时间轴中名为“HandleScriptNotify”? 的帧中的动作:? movie.TCallLabel?"/",?"HandleScriptNotify"? 14.TGotoFrame? 语法:TGotoFrame(target?As?String,51); font-size:13px; line-height:24px; font-family:verdana">说明:对于由?t?a?r?g?e?t?指定的时间轴,转到由?FrameNum?指定的帧。? movie.TGotoFrame?"/MovieClip",?2? 15.TGotoLabel? 语法:?TGotoLabel(target?As?String,?label?As?String)?说明:对于由?target?指定的时间轴,转到由?label?指? 定的帧。? 例子:movie.TGotoLabel?"/MovieClip",?"MyLabel"? 16.TPlay? 语法:TPlay(target?As?String)?说明:播放由?target?指定的时间轴。?例子:movie.TPlay?"/MovieClip"? 17.TSetProperty? 语法:TSetProperty(target?As?String,?property?As? Long,?value?As?String)? 说明:对于由?target?指定的时间轴,把由?property?指?定的属性设为由?value?指定的值(字符串)。property?是一个?代表相应属性的编号(详情请参阅附表)。? Dim?nameIndex?As?Long? nameIndex?=?13? movie.TSetProperty?"/MovieClip",?nameIndex,? "NewName"? 18.TSetPropertyNum? 语法:TSetPropertyNum(target?As?String,?property? 说明:对于由?target?指定的时间轴,把由?property?指定的属性设为由?value?指定的值(数字)。property?是?一个代表相应属性的编号?(详情请参阅附表?)。 例子?: Dim?visibilityIndex?As?Long?visibilityIndex?=?7? 19.TStopPlay? 语法:TStopPlay(target?As?String)?说明:停止播放由?target?指定的时间轴。?例子?:? movie.TStopPlay?"/MovieClipToStop"? 20.Zoom? 语法:Zoom(factor?As?Long)?说明:以?factor?指定的相对百分比来缩放视图。factor? 可以理解为从控件窗口看到的影片占实际大小的百分比。将? factor?设为?0,则视图还原成?100%?大小。当前视图已经是? 100%?时不能再将其缩小。? 例子?:?将影片放大两倍?:?movie.Zoom?50?下面的方法都有返回值:? 21.CurrentFrame? 语法:CurrentFrame()?As?Long?说明:?返回影片的当前帧数。影片的第一帧为?0?。?例子?:? Dim?frameNow?As?Integer?frameNow?=?movie.currentFrame? 22.FlashVersion? 语法:FlashVersion()?As?Long? 说明:返回控件版本号。该值共有三个字节,依次是主?版本号、次版本号、修订版本号。如我用的?Flash?播放器控?件用此方法返回值是?3?2?7?7?2?2?,相当于十六进制的? &h05002A,相当于?5.00.42。? 例子:下列程序显示你所使用的控件版本号:? Dim?verNum,?majorNum,?minorNum,?revisionNum? As?Long?verNum=movie.FlashVersion?majorNum=verNum??65536? minorNum=(verNum?-?majorNum?*?65536)??256? revisionNum?=?verNum?Mod?256? MsgBox?"?你的?Flash?播放器控件的版本号:"?&? majorNum?&?"."?&?minorNum?&?"."?&?revisionNum? 23.GetVariable? 语法:GetVariable(name?As?String)?As?String? 说明:返回?name?指定的?Flash?变量的值。如果变量?不存在则返回?null。? Dim?firstName,?radioButtonValue?As?String?firstName?=?movie.GetVariable?"FirstName"?radioButtonValue?=?movie.GetVariable("/Form/? RadioButton:Value")? 24、IsPlaying? 语法:IsPlaying()?As?Boolean? 说明:如果影片正在播放则返回?true?。?例子?:? If?movie.IsPlaying?Then? MsgBox?"?影片正在播放中!?"?End?If? 25.PercentLoaded? 语法:PercentLoaded()?As?Long? 说明:返回目前已经载入的影片的百分比。取值范围?从?0?到?100?。? Dim?loaded?As?Boolean? If?movie.PercentLoaded?=?100?Then?loaded?=?true? 26.TCurrentFrame? 语法:TCurrentFrame(target?As?String)?As?Long?说明:返回由?target?指定的时间轴中当前帧的号码。返?回的帧号码是从?0?开始的,也就是说影片的第一帧为?0?,第? 二帧为?1,以此类推。?例子?:? Dim?currentFrame?As?Long? currentFrame?=?movie.TCurrentFrame("/MovieClip")? 27.TCurrentLabel? 语法:TCurrentLabel(target?As?String)?As?String? 说明:返回由?target?指定的时间轴中当前帧的标签。?如果没有当前帧的标签,则返回一个空字符串。? Dim?currentLabel?As?String? currentLabel?=?movie.TCurrentLabel("/MovieClip")? 28.TGetProperty? 语法:TGetProperty(target?As?String,51); font-size:13px; line-height:24px; font-family:verdana">As?Long)?As?String? 说明:对于由?target?指定的时间轴,返回由?property?指定的属性值(字符串)。其中,property?是一个代表相应?属性的编号(详情请参阅附表)。? Dim?nameIndex?As?Long?Dim?name?As?String?nameIndex?=?13? name?=?movie.TGetProperty("/",?nameIndex)? 29.TGetPropertyNum? 语法:TGetPropertyNum(target?As?String,51); font-size:13px; line-height:24px; font-family:verdana">As?Long)?As?Double? 说明:对于由?target?指定的时间轴,返回由?property?指定的属性值(数字)。其中,property?是一个代表相应属?性的编号(详情请参阅附表)。? Dim?framesLoadedIndex?As?Long?Dim?framesLoaded?As?Double?framesLoadedIndex?=?12? framesLoaded?=?movie.TGetProperty("/",?framesLoadedIndex)? 附表:获取及设置属性。相应的每个属性的编号都可用?在?TGetProperty、TGetPropertyAsNumber、TSetProperty?或?TSetPropertyNum?中,以指出将要访问的属性。 事件: 1.FSCommand? 语法:FSCommand(command?As?String,?args?As? String)? 说明:在?Flash?中为影片添加的?FSCommand?动作可?以从影片中传递信息给?Flash?播放器,Flash?播放器或包含?播放器控件的网页或程序播放这个影片时就根据得到的这些?信息执行相应的动作,从而实现影片内部与外部应用的交?互操作。如在?F?l?a?s?h?中给一个按钮图片添加如下的?Act on(release)?{? ???fscommand("fullscreen","true");? }? 当?Flash?播放器播放这个文件时点击按钮,播放器就?会切换到全屏模式。下面是?Flash?自带的播放器能识别的?命令和它们的参数:? 命令?:?quit? 参数?:?无参数? 作用:关闭播放器?命令:fullscreen?参数:true?或?false? 作用:设置为?true?使播放器以全屏模式播放;设置?为?false?使播放器回到一般窗口模式播放。 命令:allowscale? 参数:true?或?false? 作用:设为?false?将使影片不随播放器大小改变而改?变,始终保持原始尺寸,相当于播放器菜单中的?100%?;?设为?true?则恢复影片随播放器大小而改变的尺寸,相当于?播放器菜单中的?Show?All?。 命令:showmenu? 作用:设为?true?显示全部菜单,包括菜单栏和播放?区的右键菜单;设为?false?菜单栏不显示,播放区的右键?菜单中只有一项“About?Macromedia?Flash?Player...”。 命令:?exec? 参数:应用程序的路径及名称?作用:执行一个指定的应用程序。如在?Flash?影片中? 添加动作为?:? fscommand("exec","regedit");? 则播放器播放影片时执行此动作会打开“注册表编辑?器”程序。注意哟,Flash?自带的播放器接收到这些命?令后会执行相应的动作,但在控件中不会有任何反应,只?能由程序在?FSCommand?事件中分析接收到的?command?和args?并编程做出相应处理。? 2.On 语法:Event?On 片已下载的百分比,取值从?0?到?100?。? 例子:在窗体标题栏中显示下载进度:? Private?Sub?movie_On form1.Caption?=?"?影片已下载:"?&?percentDone? &?"%"? End?Sub? 3.On ReadyStateChange(newState?As? Long)? 说明:发生在控件的准备状态改变时。下面列出了? newState?可能的值:? 4?——完成?? 例子:影片载入完成后出现提示信息,然后开始播放?影片?:?If?newState?=?4?Then? MsgBox?"?影片载入完成!?"?&?vbCrLf?&?"?影片总帧?数:"?&?movie.TotalFrames? ??????movie.Play? ??????????End?If? ??????End?Sub? 防止原文被删,先转保存。 ? 原文出处:http://www.cnblogs.com/yuankexiong313/archive/2010/06/04/1751166.html? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |