I’m trying to import an SWF file into my screensaver project in iScreensaver 4.5, but get the following error:
“GetSWFfileInfo. invalid file, magic = ZWS”. The file is still imported but on preview it only shows the background of the animation, nothing else.
Any ideas about what it could mean, and what I could try to fix it?
The ZWS tag indicates that you are exporting to a version of Flash (SWF) that is too new for the older iScreensaver 4.5.
For use with version 4.5, we recommend that you export using Flash Version 9 or 10.
Please try to publish your SWF file again using the older flash format and it should work.
Also, please note that iScreensaver 4.5 has been superseded by version 5.0 and we recommend using version 5, except if you are intentionally supporting older computers.
Thanks, that has gotten rid of the error message, but unfortunately the animation still won’t play. Only the background shows. It works fine in my browser and the standalone Flash player.
In that case it’s likely a timeline problem. iScreensaver watches the timeline to determine when the SWF file has finished. Make sure the timeline is constructed properly as per the instructions here: https://iscreensaver.com/help/help14.shtml
The developer has embedded a timeline, as outlined on the help page, but unfortunately it’s still not playing. I got it to work in Screensaver Factory, but that’s Windows-only. Not sure what else we can do. The animation is basically just a static background, and then objects fall down from the top of the screen (done in ActionScript).
Without seeing the file it’s hard to know, but my guess is you might only have it set to play Once: as soon as the timeline hits the end, it exits. Try setting it to play: “Forever” in the iScreensaver settings.
If that doesn’t work, contact us via email and give us a way to download the SWF file and Flash Project File and we can look into it.
Thanks for emailing us the files - we see no problem whatsoever here.
I’m wondering if your test machine(s) have an obsolete Flash Player plugin: Apple routinely blocks older versions of Flash Player due to the many security problems with Flash. Please do this:
Go to Apple Menu / System Preferences / Flash Player and click the Updates tab.
Check the version number. As of today, you need version 22.0.0.192 or higher.
Click the “Check Now” button and follow instructions to update your Flash Player plugin.
The SWF file works just fine in the browser or a standalone Flash player. It’s only in iScreensaver Designer (on Windows) that it won’t play. Have you tried importing the SWF in iScreensaver Designer to see if it plays?
Ok, after poking around a bit more, we have identified a few problems, both minor and major.
---- Major Issues ----
Screen Sizing: One has to be careful with screen sizing when using SWF files in iScreensaver for two reasons:
First, when iScreensaver launches your SWF file the size may initially be 0x0 pixels. If your .Init() code remembers those sizes, many things may break.
Second, there are some interactions between iScreensaver and Flash scale modes:
A: iScreensaver has several display size modes (Fill, Crop, Letterbox, etc.) Make sure you are using the one you expect.
B: The Flash Player plugin itself may lie to your SWF file about what the real sizes are in some settings of stage.ScaleMode.
The FLA file is calling Mouse.Hide() in line 33 of Main.as : this causes problems, please remove it. iScreensaver needs to be in charge of the mouse cursor.
---- Minor Issues ----
The SWF and FLA project is built using Adobe CC. Since you are using iScreensaver 4.5, you’ll have better luck with an older version of Adobe Flash: we recommend CS6 for this project. Also, be sure to publish as Flash Player 9 (or possibly 10 which might work).
It’s better if your SWF file starts off in Pause mode and doesn’t begin animation until it gets the Play command from iScreensaver. This is a minor issue but fixing it can improve performance. You can see if this is working by using the HUD (Heads Up Display) within iScreensaver Designer - using the play/pause buttons on the HUD should play/pause your animation as well.