Tech Note 41: Using Adobe Flash with NS Basic
|
The Macromedia Flash Player 7 for Pocket PC (http://www.adobe.com/products/flashplayer_pocketpc/downloads/player.html) is an ActiveX control which can be easily incorporated into a NS Basic application as follows:
1. Install Flash Player 7
2. Declare the ActiveX object in your application as follows:
AddObject "ShockwaveFlash.ShockwaveFlash", "Flash1", 10, 10, 100, 100The above will define a Flash player window which is 100 x 100 pixels in size located at +10,+10 from the top left corner of the screen.
The player supports Flash files in SWF format which can be loaded and played using the command:
Flash1.movie="file://\my documents\myflashfile.swf"Several other actions are available as shown below:
Flash1.stop ' pause playback Flash1.play ' resume playback Flash1.zoom(50) ' zoom in Flash1.zoom(200) ' zoom out Flash1.rewind ' rewind to beginning
AddObject "NSBasic.ComDlg","dialog",0,0,0,0 AddObject "ShockwaveFlash.ShockwaveFlash", "ShockwaveFlash1", 0, 0, 240, 270 Menu = ARRAY("File","Play","Stop","About","Exit") SETMENU "Titlebar", Menu Sub play_click Shockwaveflash1.play End Sub Sub stop_click Shockwaveflash1.stop End Sub Sub about_click Msgbox("NSB Flash Player v1") End Sub Sub exit_click Bye End Sub Sub file_click dialog.DialogTitle = "Pick a Flash file to open" dialog.InitDir = "\storage card" dialog.Filter = "SWF|*.swf" dialog.FilterIndex = 1 dialog.Flags = &H1000 Or &H800 'path and file must exist dialog.filename = "" 'initialize 'Generate error if cancel is pressed dialog.CancelError = True On Error Resume Next dialog.ShowOpen 'Determine action to take after dialog is dismissed If Err.Number = 0 Then txtFileName = dialog.filename Else If Err.Number = 32755 Then MsgBox "Canceled" End If Shockwaveflash1.movie="file://"+txtfilename End Sub
The documentation below describes the scripting interface for the Flash Player ActiveX control. This control handles playback of Flash content on Windows machines which support ActiveX.
Experienced scripters should read the article Scripting with Flash for an overview of JavaScript methods which can control the Flash Player. Beginning scripters may benefit more from the example-based TechNotes "An example of communication between JavaScript and Adobe Flash Player" (TechNote 15683) and "An example of communication between Macromedia Flash 5 movies through JavaScript" (TechNote 15692).
PropertiesReadyState (get only) | 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete. |
TotalFrames (get only) | Returns the total number of frames in the movie. This is not available until the movie has loaded. Wait for ReadyState = 4. |
FrameNum (get or set) | The currently displayed frame of the movie. Setting this will advance or rewind the movie. |
Playing (get or set) | True if the movie is currently playing, false if it is paused. |
Quality (get or set) | The current rendering quality (0=Low, 1=High, 2=AutoLow, 3=AutoHigh). This is the same as the QUALITY parameter. |
ScaleMode (get or set) | Scale mode (0=ShowAll, 1= NoBorder, 2 = ExactFit). This is the same as the SCALE parameter. |
AlignMode (get or set) | The align mode consists of bit flags. (Left=+1, Right=+2, Top=+4, Bottom=+8). This is the same as the SALIGN parameter. |
BackgroundColor (get or set) | Override the background color of a movie. An integer of the form red*65536+green*256+blue use -1 for the default movie color. |
Loop (get or set) | True if the animation loops, false to play once. Same as the MOVIE parameter. |
Movie (get or set) | The URL source for the Flash Player movie file. Setting this will load a new movie into the control. Same as the MOVIE parameter. |
MethodsPlay() | Start playing the animation. |
Stop() | Stop playing the animation. |
Back() | Go to the previous frame. |
Forward() | Go to the next frame. |
Rewind() | Go to the first frame. |
SetZoomRect(int left, int top, int right, int bottom) | Zoom in on a rectangular area of the movie. Note that the units of the coordinates are in twips (1440 units per inch). To calculate a rectangle in Flash, set the ruler units to Points and multiply the coordinates by 20 to get TWIPS. |
Zoom(int percent) | Zoom the view by a relative scale factor. Zoom(50) will double the size of the objects in the view. Zoom(200) will reduce the size of objects in the view by one half. |
Pan(int x, int y, int mode) | Pan a zoomed in movie. The mode can be: 0 = pixels, 1 = % of window. |
EventsOnProgress(int percent) | Generated as the Flash Player movie is downloading. |
OnReadyStateChange(int state) | Generated when the ready state of the control changes. The possible states are 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete. |
FSCommand(string command, string args) | This event is generated when a GetURL action is performed in the movie with a URL and the URL starts with "FSCommand:". The portion of the URL after the : is provided in command and the target is provided in args. This can be used to create a response to a frame or button action in the Shockwave Flash movie. |