那位大哥哥有Flash播放器 的源代码阿!?最好有下载的我是新学的菜鸟阿

解决方案 »

  1.   

    打开VB,新建一个标准的EXE工程,将工程名称命名为"MyFlashPlayer",在控件箱中添加CommonDialog、StatusBar、Slider、ShockwaveFlash控件。将默认生成的窗口Name属性改为"frmMyFlashPlayer",Caption改为"My FlashPlayer",ScaleMode改为"3 - Pixel",然后依次添加以下控件:  1、12个按钮(CommandButton),Name属性分别为"cmdPlaySWF"、"cmdPauseSWF"、"cmdStopSWF"、
    "cmdRewindSWF"、"cmdStepBackSWF"、"cmdStepForwardSWF"、"cmdGotoEndSWF"、
    "cmdFastBackSWF"、"cmdFastForwardSWF"、"cmdZoomInSWF"、"cmdZoomOutSWF"、
    "cmdZoomNoSWF",Caption属性分别为“播放”、“暂停”、“停止”、“重播”、“后退”、“前进”、“末帧”、“快退”、“快进”、“放大”、“缩小”、“正常”。  2、1个划动条(Slider),Name属性为SliderSWF,Max属性为"100"(表示100%),TickStyle属性为"3 - sldNoTicks"。1个状态栏(StatusBar),双击其属性中的“(自定义)”,在弹出的属性页的窗格栏中,插入2个窗格,并将2个窗格的对齐方式设置为"1 - sbrCenter"。  3、1个定时器(Timer),Name属性为TimerSWF,Enabled属性为"False",Interval属性为"1000"。1个通用对话框(CommonDialog),Name属性为"OpenDialogSWF",DialogTitle属性为“打开Flash动画文件”,Filter属性为“Flash动画文件(*.swf)|*.swf|所有文件(*.*)|*.*”,FilterIndex属性为"1"。  4、1个ShockwaveFlash控件,Name属性为MyShockwaveFlash,点击鼠标右键弹出快捷菜单,选择“置前”,使其在所有控件的最上面,全屏幕播放需要此设置,在后面源代码中笔者将说明其用途。  5、打开菜单编辑器,添加如下菜单:“文件(&F)”(mnuFileSWF)、“打开(&O)”(Ctrl+O)(mnuOpenSWF)、“退出(&X)”(mnuExitSWF)、“查看(&V)”(mnuViewSWF)、“质量(&Q)”(mnuQualitySWF)、“高(&H)”(复选)(mnuQualityHigh)、“中(&M)”(mnuQualityMedium)、“低(&L)”(mnuQualityLow)、“循环播放(&L)”(复选)(mnuLoopSWF)、“快捷菜单(&M)”(复选)(mnuMenuSWF)、“全屏幕播放(&F)”(F11)(mnuFullScreenSWF)。其中“文件”包括“打开”、“退出”,“查看”包括“质量”、“循环播放”、“快捷菜单”、“全屏幕播放”,“质量”又包括“高”、“中”、“低”。  好了,界面设计完成,效果如图1。
      接下来我们输入以下代码: 
    Option ExplicitPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" 
    (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" 
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Const GWL_STYLE = (-16)
    ' 窗口风格参数值
    Private Const WS_CAPTION = &HC00000
    Private Const WS_THICKFRAME = &H40000Private Sub cmdFastBackSWF_Click()
    ' 向后5%
    If MyShockwaveFlash.FrameNum >= 0 Then
    MyShockwaveFlash.GotoFrame (
    (SliderSWF.Value - SliderSWF.LargeChange) * 0.01 * (MyShockwaveFlash.TotalFrames - 1))
    End If
    End SubPrivate Sub cmdFastForwardSWF_Click()
    ' 向前5%
    If MyShockwaveFlash.FrameNum >= 0 Then
    MyShockwaveFlash.GotoFrame (
    (SliderSWF.Value + SliderSWF.LargeChange) * 0.01 * (MyShockwaveFlash.TotalFrames - 1))
    End If
    End SubPrivate Sub cmdGotoEndSWF_Click()
    ' 到最后一帧
    If MyShockwaveFlash.FrameNum >= 0 Then
    MyShockwaveFlash.GotoFrame (MyShockwaveFlash.TotalFrames - 1)
    End If
    End SubPrivate Sub cmdPauseSWF_Click()
    ' 暂停播放
    ' ShockwaveFlash控件中没有多媒体播放器中典型的名为“Pause”的功能
    ' 只有两个看不出区别的功能:StopPlay和Stop,都是用来暂停播放的MyShockwaveFlash.StopPlay
    End Sub
      

  2.   

    代码太长了
    贴不出来http://www.mf100.com/document/2002-9/129.shtml自己看哦