c#

位置:IT落伍者 >> c# >> 浏览文章

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


发布日期:2019年08月26日
 
C#加载Flash的AxShockwaveFlash的成员函数

AlignMode (读写)

语法AlignMode As Long

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

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

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

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

例子 设置影片为右对齐

movieAlignMode =

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

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

movieBackgroundColor =

Base (读写)

语法Base As String

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

例子

movieBase = Http:///pathname/

pathname

BGColor (读写)

语法BGColor As String

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

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

movieBGColor = FF

DeviceFont (读写)

语法DeviceFont As Boolean

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

例子movieDeviceFont = True

EmbedMovie (读写)

语法EmbedMovie As Boolean

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

例子

movieEmbedMovie = True

FrameNum (读写)

语法FrameNum As Long

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

例子 显示当前帧数

MsgBox 当前显示的是第 & movieFrameNum &

使影片显示第 BomovieFrameNum =

Loop (读写)

语法Loop As Boolean

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

例子

movieLoop = True

Menu (读写)

语法Menu As Boolean

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

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

例子

movieMenu = False

Movie (读写)

语法Movie As String

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

例子

movieMovie =

movieMovie = c:\temp\testswf

Playing (只读)

语法Playing As Boolean

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

例子

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

Quality (读写)

语法Quality As Long

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

——相当于 QualityLow

——相当于 QualityHigh

——相当于 QualityAutoLow

——相当于 QualityAutoHigh 例子

movieQuality =

Quality(读写)

语法Quality As String

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

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

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

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

例子

movieQuality = High

ReadyState(只读)

语法ReadyState As Long

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

——正在载入

——未初始化

——已载入

——正在交互

——完成 例子

If movieReadyState = Then

MsgBox 影片载入完成! End If

SAlign (读写)

语法SAlign As String

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

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

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

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

movieSAlign = LT

Scale (读写)

语法scale As String

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

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

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

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

例子

MsgBox 当前的缩放模式是 & movieScale

ScaleMode(读写)

语法ScaleMode As Long

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

——相当于 Scale 取 ShowAll

——相当于 Scale 取 NoBorder

——相当于 Scale 取 ExactFit

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

movieScaleMode =

Stacking (读写)

语法Stacking As String

说明用于 HTML将 Flash Player 当成 HTML 中 的一种行为使用时该属性决定 Flash 影片相对于与其 参照的 HTML 内容如何显示(有关行为请参阅样式表 的资料)Stacking 可以取

none ——行为不显示

replaceall ——行为的显示取代全部其他元素的内 容 包括背景

content ——行为的显示只取代其他元素的内 容

background ——行为的显示只取代其他元素的背 景

below ——行为在所有其他元素内容的下面显 示

belowflow ——行为以反向 Z 顺序显示在其他元素 的子对象之上 但在该元素主要内容之上

aboveflow ——行为以正向 Z 顺序显示在其他元素 的子对象之下 但在该元素主要内容之上

above ——行为显示在所有其他元素的内容之上

top ——行为的显示置于整个页面内容之上 例子

movieStacking = below

TotalFrames(只读)

语法TotalFrames As Long

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

例子

If movieReadyState = Then

MsgBox 本影片共有 & movieTotalFrames &

End If

WMode (读写)

语法WMode As String

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

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

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

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

例子

movieWMode = Transparent

方法:

Back

语法Back()

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

movieBack

Forward

语法Forward()

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

movieForward

GotoFrame

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

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

例子跳转到影片的第

movieGotoFrame

LoadMovie

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

movieLoadMovie movieswf

Pan

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

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

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

moviePan

Play

语法:Play()

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

moviePlay

Rewind

语法:Rewind()

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

movieRewind

SetVariable

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

例子:movieSetVariable /Form:UserName John Smith

SetZoomRect

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

As Long bottom As Long)

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

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

pointsToTwips = ;

movieSetZoomRect * pointsToTwips

* pointsToTwips

Stop

语法Stop()

说明 停止播放影片 例子movieStop

StopPlay

语法StopPlay()

说明 停止播放影片 例子movieStopPlay

TCallFrame

语法TCallFrame(target As String FrameNum

As Long)

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

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

movieTCallFrame /

TCallLabel

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

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

的帧中的动作

movieTCallLabel / HandleScriptNotify

TGotoFrame

语法TGotoFrame(target As String FrameNum

As Long)

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

例子

movieTGotoFrame /MovieClip

TGotoLabel

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

定的帧

例子movieTGotoLabel /MovieClip MyLabel

TPlay

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

TSetProperty

语法TSetProperty(target As String property As

Long value As String)

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

例子

Dim nameIndex As Long

nameIndex =

movieTSetProperty /MovieClip nameIndex

NewName

TSetPropertyNum

语法TSetPropertyNum(target As String property

As Long value As Double)

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

例子

Dim visibilityIndex As Long visibilityIndex =

movieTSetProperty /MovieClip visibilityIndex

TStopPlay

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

movieTStopPlay /MovieClipToStop

Zoom

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

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

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

% 时不能再将其缩小

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

CurrentFrame

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

Dim frameNow As Integer frameNow = moviecurrentFrame

FlashVersion

语法FlashVersion() As Long

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

&hA相当于

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

Dim verNum majorNum minorNum revisionNum

As Long verNum=movieFlashVersion 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 = movieGetVariable FirstName radioButtonValue = movieGetVariable(/Form/

RadioButton:Value)

IsPlaying

语法IsPlaying() As Boolean

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

If movieIsPlaying Then

MsgBox 影片正在播放中! End If

PercentLoaded

语法PercentLoaded() As Long

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

例子

Dim loaded As Boolean

If moviePercentLoaded = Then loaded = true

End If

TCurrentFrame

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

二帧为 以此类推 例子

Dim currentFrame As Long

currentFrame = movieTCurrentFrame(/MovieClip)

TCurrentLabel

语法TCurrentLabel(target As String) As String

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

例子

Dim currentLabel As String

currentLabel = movieTCurrentLabel(/MovieClip)

TGetProperty

语法TGetProperty(target As String property

As Long) As String

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

例子

Dim nameIndex As Long Dim name As String nameIndex =

name = movieTGetProperty(/ nameIndex)

TGetPropertyNum

语法TGetPropertyNum(target As String property

As Long) As Double

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

例子

Dim framesLoadedIndex As Long Dim framesLoaded As Double framesLoadedIndex =

framesLoaded = movieTGetProperty(/ framesLoadedIndex)

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

事件:

FSCommand

语法FSCommand(command As String args As

String)

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

on(release) {

fscommand(fullscreentrue);

}

当 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 影片中

添加动作为

fscommand(execregedit);

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

OnProgress

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

片已下载的百分比取值从

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

Private Sub movie_OnProgress(ByVal percentDone

As Long)

formCaption = 影片已下载 & percentDone

& %

End Sub

OnReadyStateChange

语法Event OnReadyStateChange(newState As

Long)

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

newState 可能的值

——正在载入

——未初始化

——已载入

——正在交互

——完成

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

Private Sub movie_OnReadyStateChange(newState As

Long)

If newState = Then

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

moviePlay

End If

End Sub

上一篇:浅析C#运行时相互关系

下一篇:C#计算10!的值