22

I have a *.swf file, and I don't have flash player installed on my Windows XP machine.

Is there any way to play the .swf file using Google Chrome or is there any web app that allows me to play .swf? I don't mind installing any browser plugin, but I do mind installing any desktop application.

  • Do you need to install Adobe Flash Player on your system? – abhi Sep 8 '11 at 21:00
4

Chrome has a built in Flash Player called PepperFlash. Go To chrome://plugins/ and ensure that "Adobe Flash Player" is Enabled. You can also go to chrome://components/ to ensure that it is updated. If you still have problems go to "Your Root"\Users\"Your UserName"\AppData\Local\Google\Chrome\User Data\PepperFlash\"Version Number"\ Then rename the pepflashplayer.dll to pepflashplayerX.dll.

  • since chrome should play swf files naturally, this is the best answer for the original question without the need for workarounds. – C Jones Mar 14 '17 at 9:27
  • 7
    This no longer works. Try go to chrome://plugins/ - it was removed in recent versions. It's causing total hell for Flash developers enabling content on client machines. Thanks Google! – 1owk3y Jun 7 '17 at 5:09
  • 1
    Where is the new chrome://plugins? Has they been moved to chrome://settings?? – Pacerier Nov 9 '17 at 21:14
  • 1
    @Pacerier There is no "new" version of that page -- it's been removed, as Google Chrome no longer uses plugins. – duskwuff Apr 25 '18 at 8:32
65

I had created a file flash.html with this content:

<object>
    <embed src="file.swf" width="100%" height="100%"></embed>
</object>

Then opened the file in Chrome.

Otherwise when I was dragging an swf file to Chrome, it was just downloading the file.

5

You can play .swf files with Google Chrome. Just drag the file from its current location to your current tab.

  • 1
    How can it be done from the command-line? The command google-chrome myfile.swf wants to download it. – pts Jan 25 '16 at 9:33
  • This solved it for me: superuser.com/a/783451/19956 – pts Jan 25 '16 at 9:36
  • 6
    Doesn't work because it keeps downloading the file instead. – Jose Ramirez Sep 3 '17 at 22:57
4

Catttdaddy's answer is basically correct, but with Chrome version 57 and later, plugins are deprecated (for more information, see this) and you may need to enable Flash in another way, via Chrome Settings. Without it enabled, the file will be downloaded instead of opened. To enable Flash in Chrome:

  • Enter the URL chrome://settings/
  • Search for "Flash"
  • Under Privacy, click "Content Settings"
  • Under Flash, choose option "Allow sites to run flash"

You may want to change that back to your original setting for security or other reasons after you've opened the SWF file.

  • 3
    For me it wasn't enough to just tick "Allow sites to run flash". In fact, it was ticked and yet flash was downloaded and not played. I had to untick "Ask first" right below it - that solved the problem. – nirvana-msu Jul 23 '17 at 23:06
2

For Linux users having this issue I have created the following script as a workaround:

Before proceeding, you must make sure that pepper-flash is installed for Chrome/Chromium, (flashplugin for Firefox) the only way to check (without using the workaround below that is) is to play a flash file on the internet. (or in Firefox, go to about:plugins and see if it has "Shockwave Flash")

#!/bin/bash
if [ -z $1 ]; then
   swf=$(ls *.swf | tail -1)
else
   swf=$@
fi


html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

(alternatively compatible with dash)

To use the script, save it as swftohtml.sh(can be any name, does not have to end in .sh) at any location you desire, then to convert it into a runnable command either make an alias for it in bashrc, or copy it to /usr/bin/. Remember to run chmod +x swftohtml.sh to make it executable.

The script when run with no arguments will look in the current folder for an swf file and make a corresponding html file that can be used to run this swf file in a browser. If there are more than 1 swf files in the folder, it will default to the last one (e.g. if you have filename1.0.swf and filename2.0.swf, it will default to filename2.0.swf)

Alternatively to target a specific swf file, you can enter the filename (or complete path to file) as an argument for the script and it will use that instead. (e.g. swftohtml.sh filename 1.0.swf)

If you want to fully automate the script:

To open swf files automatically in your browser and automate removal of the resulting html file after it has been used, uncomment one of the following lines at the bottom of the script (depending on your browser):

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

The script will now open the html file in your browser as soon as it has been created. If there is an existing instance of your browser running, it will delete the html file in 20 seconds (giving you ample time to tell the browser to open the file with it's flash plugin). If there is no existing instance of your browser, the file will instead be deleted 20 seconds after the browser is closed.

With this set, you can configure SWF files to open with the script, and the process is now fully automated so that you can open SWF files directly, without ever worrying about creating (or deleting) the html files by hand, in other words, it will behave like it should now. (Keep in mind that there may be a few corner cases where the html file is not deleted though, when this happens you can safely ignore it.)

For Firefox Users:

The Firefox version was a bit trickier, it requires wmctrl and xdotool to be installed. The reason for this is that for firefox to play local swf files this way you need to disable plugins.http_https_only in about:config, the script automatically disables it, opens the flash file, then re-enables it, because this is a setting most people will generally want to keep enabled. The browser needs to be open before the command is run. If you think it is likely your firefox browser will be closed when you run the command, replace the line with this:

firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

It will now give the browser 1 second to launch before running the rest of the script. (May need to be adjusted for slower computers).

The Firefox version of the script will always delete the file after 20 seconds.

Performance testing:

I did some rudimentary performance testing and these are my results:

  • Chrome/Chromium Pepper Flash (PPAPI): Fastest
  • Adobe Flash Projector (NPAPI)(Wine): Fast
  • Firefox Flashplugin (NPAPI): Slowest

As for stability, there are corner cases where PPAPI will run into bugs/errors that NPAPI does not, but they are rare.

The performance between Pepper Flash and Flash Projector was rather small (It's noticable, but barely) whereas the performance of the firefox flash plugin was noticably slower than the rest for some reason.

Thus, if playing flash games is the goal, I would recommend using chromium with pepper flash installed over the rest, in general. For other tasks it's unlikely that it will matter.

0

Unless mistaken, you need the plugin to play SWF files as the SWF requires the actionscript library's to function.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.