• C#操作Flash动画


       对于在C#开发的过程中没有接触过Flash相关开发的人员来说,没有系统的资料进行学习,那么这篇文档针对于初学者来说是很好的学习DEMO。 本文章中的DEMO实现了C#的COM控件库中本来就带有对flash进行播放的控件,只是需要对flash的相关操作进行了解即可,先看看实现的效果。

    阅读目录

    实现效果

    配置Flash的运行环境

    1.在VS中创建好一个winFrom应用程序之后,在工具箱-》所有Windows窗体反键-》找到添加选项卡-》COM组件-》Shockwave Flash Object


    2.然后在winform窗体中拖入刚才选中的Flash控件即可使用

    实现逻辑

    源码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.IO;
     7 using System.Linq;
     8 using System.Text;
     9 using System.Threading.Tasks;
    10 using System.Windows.Forms;
    11 
    12 namespace Flash_Demo
    13 {
    14     public partial class Form1 : Form
    15     {
    16         public Form1()
    17         {
    18             InitializeComponent();
    19         }
    20         /*
    21          * 功能:Form进行初始化方法(对Flash进行初始化)
    22          * create date:2015-11-11
    23          * author:JZ
    24          * */
    25         private void Form1_Load(object sender, EventArgs e)
    26         {
    27             axShockwaveFlash1.LoadMovie(0, Directory.GetCurrentDirectory() + "\flash4047.swf"); //从本地进行加载flash的路径
    28             //axShockwaveFlash1.LoadMovie(0,  "http://www.jsyst.cn/xuecheflash/xueche10.swf");//从网络上加载Flash
    29             axShockwaveFlash1.Rewind();  //开始的时候加载到flash的第一帧
    30             axShockwaveFlash1.StopPlay();//开始的时候Flash是停止播放的状态
    31             axShockwaveFlash1.Menu = false;//在flash中反键不进行展示flash的菜单
    32         }
    33 
    34         /*
    35          * 功能:停止播放按钮的事件
    36          * create date:2015-11-11
    37          * author:JZ
    38          * */
    39         private void button2_Click(object sender, EventArgs e)
    40         {
    41 
    42             axShockwaveFlash1.StopPlay();//停止播放Flash
    43         }
    44         /*
    45          * 功能:上一帧按钮的事件
    46          * create date:2015-11-11
    47          * author:JZ
    48          * */
    49         private void button4_Click(object sender, EventArgs e)
    50         {
    51             axShockwaveFlash1.Back();//flash的上一帧
    52         }
    53         /*
    54          * 功能:下一帧按钮的事件
    55          * create date:2015-11-11
    56          * author:JZ
    57          * */
    58         private void button5_Click(object sender, EventArgs e)
    59         {
    60             axShockwaveFlash1.Forward();//flash的下一帧
    61         }
    62         /*
    63         * 功能:开始播放按钮的事件
    64         * create date:2015-11-11
    65         * author:JZ
    66         * */
    67         private void button6_Click(object sender, EventArgs e)
    68         {
    69             axShockwaveFlash1.Rewind();  //开始的时候加载到flash的第一帧
    70             axShockwaveFlash1.Play();//开始播放Flash
    71             axShockwaveFlash1.Loop = true;//对Flash进行循环播放
    72         }
    73     }
    74 }
    View Code

    C#操作Flash的关键参数解析

    属性:
      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:/temp/test.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)。
    例子 :
    If movie.ReadyState = 4 Then
    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, FrameNum
    As Long)
    说明:对于由 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
    As Long, value As Double)
    说明:对于由 target 指定的时间轴,把由 property 指定的属性设为由 value 指定的值(数字)。property 是 一个代表相应属性的编号 (详情请参阅附表 )。
    例子 :
    Dim visibilityIndex As Long visibilityIndex = 7
    movie.TSetProperty "/MovieClip", visibilityIndex, 1
      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
    End If
      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, property
    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, property
    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 中给一个按钮图片添加如下的 Action:
    on(release) {
       fscommand("fullscreen","true");
    }
    当 Flash 播放器播放这个文件时点击按钮,播放器就 会切换到全屏模式。下面是 Flash 自带的播放器能识别的 命令和它们的参数:
    命令 : quit
    参数 : 无参数 
    作用:关闭播放器 命令:fullscreen 参数:true 或 false
    作用:设置为 true 使播放器以全屏模式播放;设置 为 false 使播放器回到一般窗口模式播放。
    命令:allowscale
    参数:true 或 false
    作用:设为 false 将使影片不随播放器大小改变而改 变,始终保持原始尺寸,相当于播放器菜单中的 100% ; 设为 true 则恢复影片随播放器大小而改变的尺寸,相当于 播放器菜单中的 Show All 。
    命令:showmenu
    参数:true 或 false
    作用:设为 true 显示全部菜单,包括菜单栏和播放 区的右键菜单;设为 false 菜单栏不显示,播放区的右键 菜单中只有一项“About Macromedia Flash Player...”。
    命令: exec
    参数:应用程序的路径及名称 作用:执行一个指定的应用程序。如在 Flash 影片中
    添加动作为 :
    fscommand("exec","regedit");
    则播放器播放影片时执行此动作会打开“注册表编辑 器”程序。注意哟,Flash 自带的播放器接收到这些命 令后会执行相应的动作,但在控件中不会有任何反应,只 能由程序在 FSCommand 事件中分析接收到的 command 和args 并编程做出相应处理。
      2.OnProgress
    语法:Event OnProgress(percentDone As Long) 说明:发生在 Flash 影片下载时。percentDone 是影
    片已下载的百分比,取值从 0 到 100 。
    例子:在窗体标题栏中显示下载进度:
    Private Sub movie_OnProgress(ByVal percentDone
    As Long)
      form1.Caption = " 影片已下载:" & percentDone
    & "%"
    End Sub
    3.OnReadyStateChange
    语法:Event OnReadyStateChange(newState As
    Long)
    说明:发生在控件的准备状态改变时。下面列出了
    newState 可能的值:
    0 ——正在载入
    1 ——未初始化
    2 ——已载入
    3 ——正在交互
    4 ——完成
    例子:影片载入完成后出现提示信息,然后开始播放 影片 :
    Private Sub movie_OnReadyStateChange(newState As
    Long)
      If newState = 4 Then
    MsgBox " 影片载入完成! " & vbCrLf & " 影片总帧 数:" & movie.TotalFrames
          movie.Play
              End If
          End Sub
     
     
    属性的介绍源自http://blog.csdn.net/whitechololate/article/details/6149497

    Demo源码包(VS2013进行实现)

    Demo源码包(VS2013进行实现)

    源码

    总结

     C#中对于Flash的控制总体来说是比较简单的,只要对Flash控件的相关属性有所了解。希望这篇文章对于初学C#播放Flash有所帮助。


    作者:青春茧
    出处:http://www.cnblogs.com/wustjz/
    本文版权归青春茧和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    java基础-Runnable与Callable
    java基础-Reference三
    java基础-Reference二
    java基础-Reference一
    jvm-gc
    jvm-简介
    java基础-enum
    采购申请->MRP
    消耗性物料采购注意事项
    供应商建立的相关配置
  • 原文地址:https://www.cnblogs.com/wustjz/p/4968115.html
Copyright © 2020-2023  润新知