C#加载Flash的AxShockwaveFlash的成员函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#加载Flash的AxShockwaveFlash的成员函数相关的知识,希望对你有一定的参考价值。

参考技术A

   AlignMode (读写)

  语法 AlignMode As Long

  说明 对齐方式(与 SAlign 属性联动) 当控件的 长宽比例与影片不一致且 WMode 不为 ExactFit 时 影片(没有被放大的)在控件中显示的位置可用该属性调整 该属性值由标志位组成 如图 将该属性值(二进制)中相 应的位标记为 就设置了相应的对齐方向

  属性值与相应的对齐方式(后面括号里是二进制数)

   左对齐( )  右对齐( )  顶对齐 ( )  底对齐( )

  也可以组合各种对齐方式 同时将两个或以上的位标 记为 也就是将这四个基本值组合相加 比如同时左对齐 和顶对齐 属性值则设为 ( )

  例子 设置影片为右对齐

  movie AlignMode =

   BackgroundColor(读写) 语法 BackgroundColor As Long 说明 影片的背景色(与 BGColor 联动) 以(红× +绿× +蓝)计算颜色值 红绿蓝颜色取 值范围( ) 默认的影片背景色为 如果影片 设置了底色或有图片当作背景 那么看不出来该属性值的 改变会有什么影响

  例子 将影片背景色设为蓝色

  movie BackgroundColor =

   Base (读写)

  语法 Base As String

  说明 指定用于解决影片中所有相对路径的声明的基地址 当影片与其需要的其他文件不在同一目录中的时候该 属性特别有用 如不特别指定 Base 的值默认为 也就 是当前影片所在的路径

  例子

  movie Base = Http:///pathname /

  pathname

   BGColor (读写)

  语法 BGColor As String

  说明 影片的背景色(与 BackgroundColor 联动) 与 BackgroundColor 不同的是 BGColor 是一个六位的十六进 制数 每两位分别代表红绿蓝颜色值 如 FFEEAA 表示 红色值为 FF 绿色值为 EE 蓝色值为 AA

  例子 将影片背景色设为红色

  movie BGColor = FF

   DeviceFont (读写)

  语法 DeviceFont As Boolean

  说明 决定是否使用影片内嵌的字体 默认值为 False 将该属性值设为 True 则强制播放器不使用影片中 内嵌的字体而使用本地系统字体

  例子 movie DeviceFont = True

   EmbedMovie (读写)

  语法 EmbedMovie As Boolean

  说明 影片是否被存贮到控件所在的容器中 当你已 载入一个影片后将该属性设为 True 播放影片时就不必再 去读 SWF 文件了 这使得在 PowerPoint 简报或 VB 程序 里使用 Flash 影片更容易 但将该属性设为 True 后 控 件的 Movie 属性就不再接受新的值了 要想播放另一个影 片(给 Movie 属性赋新值) 必须先将 EmbedMovie 属 性设为 False

  例子

  movie EmbedMovie = True

   FrameNum (读写)

  语法 FrameNum As Long

  说明 影片当前帧的编号 (从 开始计数 ) 设置 该属性值将使影片停在由 FrameNum 指定的帧处

  例子 显示当前帧数

  MsgBox 当前显示的是第 & movie FrameNum &

   帧

  使影片显示第 帧 Bomovie FrameNum =

   Loop (读写)

  语法 Loop As Boolean

  说明 是否循环播放 设为 True 是循环播放 设为 False 则只播放一次

  例子

  movie Loop = True

   Menu (读写)

  语法 Menu As Boolean

  说明 是否显示菜单 设为 True 显示所有菜单 设 为 False 菜单被屏蔽 但仍有一项 About Macromedia Flash Player 如果你实在不喜欢这个菜单 应该在程 序中通过拦截鼠标消息的方法来达到目的 与在独立的 F l a s h 播放器中不同的是 在控件的右键菜单里点

   About 的话 将打开浏览器到 Macromedia 的网站上去 看 About 了

  例子

  movie Menu = False

   Movie (读写)

  语法 Movie As String

  说明 要播放的影片路径(URL ) 设置该属性为 一个 SWF 文件的 URL 将载入文件并播放它 若影片是在 本地硬盘上 要写成从盘符开始的绝对路径 若影片是在某网站上 也要写全 URL 地址

  例子

  movie Movie = 或

  movie Movie = c:\\temp\\test swf

   Playing (只读)

  语法 Playing As Boolean

  说明 当前播放状态 如果影片正在播放 该属性 值为 True 否则为 False

  例子

  If movie Playing = False Then MsgBox 影片已停止播放! End If

   Quality (读写)

  语法 Quality As Long

  说明 画面质量(与 Quality 联动) Quality 可以取:

   ——相当于 Quality 取 Low

   ——相当于 Quality 取 High

   ——相当于 Quality 取 AutoLow

   ——相当于 Quality 取 AutoHigh 例子

  movie Quality =

   Quality (读写)

  语法 Quality As String

  说明 画面质量(与 Quality 联动) Quality 可以取: Low 偏重于播放速度而不管显示效果 而且不启用消锯齿功能

  High 偏重于画面而不管播放速度 并且总是启用 消锯齿功能 如果影片中不包含动画就平滑处理位图 如 果有动画 那么位图就不被平滑处理 (这里的动画应该 是把一张图片做平移或旋转)

  AutoLow 先着重于播放速度 但只要有可能就改 善显示效果 一开始播放时先禁用消锯齿功能 如果播放 器检测到处理器能承受得了 就启用消锯齿功能

  AutoHigh 一开始是播放速度和显示效果并重 但 如有必要就牺牲画质确保速度 开始播放时就启用消锯齿 功能 但如果实际的帧速率比设计时指定的速率慢了 就 禁用消锯齿功能来提高播放速度

  例子

  movie Quality = High

   ReadyState(只读)

  语法 ReadyState As Long

  说明 影片的当前状态 ReadyState 可以取

   ——正在载入

   ——未初始化

   ——已载入

   ——正在交互

   ——完成 例子

  If movie ReadyState = Then

  MsgBox 影片载入完成! End If

   SAlign (读写)

  语法 SAlign As String

  说明 对齐模式(与 AlignMode 联动) 当 AlignMode

  代表各对齐模式的位被置 时 SAlign 值也相应被设为

   L (Left) T (Top) R (Right) B (Bottom)各字符的组合( L T R B 的先后顺序不变)

  例子 设置影片为左对齐和顶对齐

  movie SAlign = LT

   Scale (读写)

  语法 scale As String

  说明 缩放模式(与 ScaleMode 联动) Scale 可以 取:

  ShowAll ——在控件内显示全部影片区域 保持影片 长宽比例不变 影片的大小决定于控件长或宽中较小的一 边

  NoBorder ——在控件内显示部分影片区域 保持影片 长宽比例不变 影片的大小决定于控件长或宽中较大的一 边

  ExactFit ——在控件内显示全部影片区域 将影片的长 宽比例强制等于控件的长宽比例

  例子

  MsgBox 当前的缩放模式是 & movie Scale

   ScaleMode(读写)

  语法 ScaleMode As Long

  说明 缩放模式(与 Scale 联动) ScaleMode 可以取

   ——相当于 Scale 取 ShowAll

   ——相当于 Scale 取 NoBorder

   ——相当于 Scale 取 ExactFit

  例子 使影片的缩放模式改成 ExactFit

  movie ScaleMode =

   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

   TotalFrames(只读)

  语法 TotalFrames As Long

  说明 返回影片中总帧数 该参数要到影片载入完成 才有效(ReadyState= )

  例子

  If movie ReadyState = Then

  MsgBox 本影片共有 & movie TotalFrames & 帧

  End If

   WMode (读写)

  语法 WMode As String

  说明 控件的窗口模式 WMode 可以取 Window —— WMode 属性的默认值 按 Flash 播放器

  典型的方式工作 即在控件的矩形窗口中播放影片 这样一 般都能提供最快的动画效果

  Opaque ——使影片不透明 Transparent ——创建一个透明的影片 如果影片中有

  透明的片段 放到这里时 就可以看到控件下面的背景 但 使用此属性值 动画的播放速度可能会慢一些

  例子

  movie WMode = Transparent

  方法:

   Back

  语法 Back()

  说明 影片后退一帧 并且停止播放 例子

  movie Back

   Forward

  语法 Forward()

  说明 影片前进一帧 并且停止播放 例子

  movie Forward

   GotoFrame

  语法 GotoFrame(FrameNum As Long) 说明 将影片跳转到由 FrameNum 指定的帧 并且

  停止播放 如果所指定的帧还未载入 播放器前进到最后 的可用帧并停下 在调用过程中会产生无法预料的后果 最好使用 PercentLoaded 方法来确定是否已载入足够的影片 来执行本方法 参数 FrameNum 是从 开始的 这和 Flash 中的 Goto 动作不一样 它是从 开始的

  例子 跳转到影片的第 帧

  movie GotoFrame

   LoadMovie

  语法 LoadMovie(layer As Long url As String) 说明 将由 url 指定的影片载入到由 layer 指定的层上 例子 将 movie swf 载入至 层

  movie LoadMovie movie swf

   Pan

  语法 Pan(x As Long y As Long mode As Long) 说明 将一个放大过的影片平移由 x 和 y 指定的距离

  x 和 y 均为相对值 即控件相对于影片来说平移的距离(你 可以想象控件是一个窗户 影片是我们从窗户里看到的放 在外面的布景 我们看到窗户相对于布景平移了一些距离 那是外面的布景在动 而窗户是不动的) 用 mode 参数 来指定 x 和 y 的值是像素还是窗口的百分比 当 mode= 时 坐标系以像素为单位 mode= 时坐标系就以窗口的百分 比来计算 平移并不能超出影片的边框 也就是说 往 一个方向平移最多到达影片的边缘与控件对齐的程度

  例子 控件相对于影片向左向上各平移 个像素(当 然控件不会动 是影片向右向下平移了 )

  movie Pan

   Play

  语法:Play()

  说明: 开始播放影片 例子:

  movie Play

   Rewind

  语法:Rewind()

  说明: 倒带 返回到影片的第一帧 例子:

  movie Rewind

   SetVariable

  语法:SetVariable(name As String value As String) 说明:将由 name 指定的 Flash 变量值设为 value

  例子:movie SetVariable /Form:UserName John Smith

   SetZoomRect

  语法:SetZoomRect(left As Long top As Long right

  As Long bottom As Long)

  说明: 将影片中指定的矩形区域放大到控件的大小 left(左) top(顶) right(右) bottom(底)的坐标值是相 对于控件中的影片有效位置计算的 注意哟 这个函数是 从影片的有效区域的左上角开始计算 而不是控件的左上 角

  例子 放大影片中从左上角开始的 × 点的矩 形区域

  pointsToTwips = ;

  movie SetZoomRect * pointsToTwips

  * pointsToTwips

   Stop

  语法 Stop()

  说明 停止播放影片 例子 movie Stop

   StopPlay

  语法 StopPlay()

  说明 停止播放影片 例子 movie StopPlay

   TCallFrame

  语法 TCallFrame(target As String FrameNum

  As Long)

  说明 在由 t a r g e t 指定的时间轴中 执行由 FrameNum 指定的帧中的动作

  例子 要运行主时间轴中第 帧的动作

  movie TCallFrame /

   TCallLabel

  语法 TCallLabel(target As String label As String) 说明 在由 target 指定的时间轴中 执行由 label 指

  定的帧中的动作 例子 要运行主时间轴中名为 HandleScriptNotify

  的帧中的动作

  movie TCallLabel / HandleScriptNotify

   TGotoFrame

  语法 TGotoFrame(target As String FrameNum

  As Long)

  说明 对于由 t a r g e t 指定的时间轴 转到由 FrameNum 指定的帧

  例子

  movie TGotoFrame /MovieClip

   TGotoLabel

  语法: TGotoLabel(target As String label As String) 说明 对于由 target 指定的时间轴 转到由 label 指

  定的帧

  例子 movie TGotoLabel /MovieClip MyLabel

   TPlay

  语法 TPlay(target As String) 说明 播放由 target 指定的时间轴 例子 movie TPlay /MovieClip

   TSetProperty

  语法 TSetProperty(target As String property As

  Long value As String)

  说明 对于由 target 指定的时间轴 把由 property 指 定的属性设为由 value 指定的值(字符串) property 是一个 代表相应属性的编号(详情请参阅附表)

  例子

  Dim nameIndex As Long

  nameIndex =

  movie TSetProperty /MovieClip nameIndex

   NewName

   TSetPropertyNum

  语法 TSetPropertyNum(target As String property

  As Long value As Double)

  说明 对于由 target 指定的时间轴 把由 property 指定的属性设为由 value 指定的值(数字) property 是 一个代表相应属性的编号 (详情请参阅附表 )

  例子

  Dim visibilityIndex As Long visibilityIndex =

  movie TSetProperty /MovieClip visibilityIndex

   TStopPlay

  语法 TStopPlay(target As String) 说明 停止播放由 target 指定的时间轴 例子

  movie TStopPlay /MovieClipToStop

   Zoom

  语法 Zoom(factor As Long) 说明 以 factor 指定的相对百分比来缩放视图 factor

  可以理解为从控件窗口看到的影片占实际大小的百分比 将

  factor 设为 则视图还原成 % 大小 当前视图已经是

   % 时不能再将其缩小

  例子 将影片放大两倍 movie Zoom 下面的方法都有返回值

   CurrentFrame

  语法 CurrentFrame() As Long 说明: 返回影片的当前帧数 影片的第一帧为 例子

  Dim frameNow As Integer frameNow = movie currentFrame

   FlashVersion

  语法 FlashVersion() As Long

  说明 返回控件版本号 该值共有三个字节 依次是主 版本号 次版本号 修订版本号 如我用的 Flash 播放器控 件用此方法返回值是 相当于十六进制的

  &h A 相当于

  例子 下列程序显示你所使用的控件版本号

  Dim verNum majorNum minorNum revisionNum

  As Long verNum=movie FlashVersion majorNum=verNum \\

  minorNum=(verNum majorNum * ) \\

  revisionNum = verNum Mod

  MsgBox 你的 Flash 播放器控件的版本号 &

  majorNum & & minorNum & & revisionNum

   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 )

   IsPlaying

  语法 IsPlaying() As Boolean

  说明 如果影片正在播放则返回 true 例子

  If movie IsPlaying Then

  MsgBox 影片正在播放中! End If

   PercentLoaded

  语法 PercentLoaded() As Long

  说明 返回目前已经载入的影片的百分比 取值范围 从 到

  例子

  Dim loaded As Boolean

  If movie PercentLoaded = Then loaded = true

  End If

   TCurrentFrame

  语法 TCurrentFrame(target As String) As Long 说明 返回由 target 指定的时间轴中当前帧的号码 返 回的帧号码是从 开始的 也就是说影片的第一帧为 第

  二帧为 以此类推 例子

  Dim currentFrame As Long

  currentFrame = movie TCurrentFrame( /MovieClip )

   TCurrentLabel

  语法 TCurrentLabel(target As String) As String

  说明 返回由 target 指定的时间轴中当前帧的标签 如果没有当前帧的标签 则返回一个空字符串

  例子

  Dim currentLabel As String

  currentLabel = movie TCurrentLabel( /MovieClip )

   TGetProperty

  语法 TGetProperty(target As String property

  As Long) As String

  说明 对于由 target 指定的时间轴 返回由 property 指定的属性值(字符串) 其中 property 是一个代表相应 属性的编号(详情请参阅附表)

  例子

  Dim nameIndex As Long Dim name As String nameIndex =

  name = movie TGetProperty( / nameIndex)

   TGetPropertyNum

  语法 TGetPropertyNum(target As String property

  As Long) As Double

  说明 对于由 target 指定的时间轴 返回由 property 指定的属性值(数字) 其中 property 是一个代表相应属 性的编号(详情请参阅附表)

  例子

  Dim framesLoadedIndex As Long Dim framesLoaded As Double framesLoadedIndex =

  framesLoaded = movie TGetProperty( / framesLoadedIndex)

  附表 获取及设置属性 相应的每个属性的编号都可用 在 TGetProperty TGetPropertyAsNumber TSetProperty 或 TSetPropertyNum 中 以指出将要访问的属性

  事件:

   FSCommand

  语法 FSCommand(mand As String args As

  String)

  说明 在 Flash 中为影片添加的 FSCommand 动作可 以从影片中传递信息给 Flash 播放器 Flash 播放器或包含 播放器控件的网页或程序播放这个影片时就根据得到的这些 信息执行相应的动作 从而实现影片内部与外部应用的交 互操作 如在 F l a s h 中给一个按钮图片添加如下的 Action

  on(release)

  f *** and( fullscreen true );

  

  当 Flash 播放器播放这个文件时点击按钮 播放器就 会切换到全屏模式 下面是 Flash 自带的播放器能识别的 命令和它们的参数

  命令 quit

  参数 无参数

  作用 关闭播放器 命令 fullscreen 参数 true 或 false

  作用 设置为 true 使播放器以全屏模式播放 设置 为 false 使播放器回到一般窗口模式播放

  命令 allowscale

  参数 true 或 false

  作用 设为 false 将使影片不随播放器大小改变而改 变 始终保持原始尺寸 相当于播放器菜单中的 % 设为 true 则恢复影片随播放器大小而改变的尺寸 相当于 播放器菜单中的 Show All

  命令 showmenu

  参数 true 或 false

  作用 设为 true 显示全部菜单 包括菜单栏和播放 区的右键菜单 设为 false 菜单栏不显示 播放区的右键 菜单中只有一项 About Macromedia Flash Player

  命令 exec

  参数 应用程序的路径及名称 作用 执行一个指定的应用程序 如在 Flash 影片中

  添加动作为

  f *** and( exec regedit );

  则播放器播放影片时执行此动作会打开 注册表编辑 器 程序 注意哟 Flash 自带的播放器接收到这些命 令后会执行相应的动作 但在控件中不会有任何反应 只 能由程序在 FSCommand 事件中分析接收到的 mand 和args 并编程做出相应处理

   OnProgress

  语法 Event OnProgress(percentDone As Long) 说明 发生在 Flash 影片下载时 percentDone 是影

  片已下载的百分比 取值从 到

  例子 在窗体标题栏中显示下载进度

  Private Sub movie_OnProgress(ByVal percentDone

  As Long)

  form Caption = 影片已下载 & percentDone

  & %

  End Sub

   OnReadyStateChange

  语法 Event OnReadyStateChange(newState As

  Long)

  说明 发生在控件的准备状态改变时 下面列出了

  newState 可能的值

   ——正在载入

   ——未初始化

   ——已载入

   ——正在交互

   ——完成

  例子 影片载入完成后出现提示信息 然后开始播放 影片

  Private Sub movie_OnReadyStateChange(newState As

  Long)

  If newState = Then

  MsgBox 影片载入完成! & vbCrLf & 影片总帧 数 & movie TotalFrames

  movie Play

  End If

lishixinzhi/Article/program/ASP/201311/21809

以上是关于C#加载Flash的AxShockwaveFlash的成员函数的主要内容,如果未能解决你的问题,请参考以下文章

C# Flash - 外部接口

C# 和 Flash 通信

使用 C# 和 AutoIt 向 Flash 游戏发送消息

使用 c# 实现 Flash 自动化

flash网站加载太慢,如何加进度条

基于 Flash 的游戏停止加载