niftyPlayer

A Scriptable, Lightweight Flash MP3 Player

Demo

This is what niftyPlayer looks like:

...and it is controllable with JavaScript:

play toggle (or play | pause ) stop
load file 1 | load file 2 | load file 2 and play it

register onPlay event (then click the play button to see the result)
get current file state

Upsides

  1. Small (~4kb)
  2. Free, open-source
  3. No Flash knowledge required: file URL is specified in HTML
  4. JavaScript-ready! You may even bypass the Flash interface altogether!
  5. Autostart capability
  6. Draggable/Clickable seek bar
  7. Simple operation with Play/Pause and Stop buttons
  8. Buffering with progress bar
  9. Buffering is stoppable! (through Stop button)
  10. Volume control
  11. Very verbal
  12. Retries upon encountering errors

Downsides

  1. No playlist capability (but can be done in JavaScript!)
  2. No photo-slideshow or video capability
  3. Sound must be MP3 (flash limitation)
  4. I'm sure there's more, but I can't really think of any other. But, hey, did I mention it's open-source? You can always change the code :)

Usage

Copy and paste the code below into your HTML file, then replace all values in red accordingly.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="165" height="38" id="niftyPlayer1" align="">
<param name=movie value="niftyplayer.swf?file=betty.mp3&as=1">
<param name=quality value=high>
<param name=bgcolor value=#FFFFFF>
<embed src="niftyplayer.swf?file=betty.mp3&as=1" quality=high bgcolor=#FFFFFF width="165" height="38" name="niftyPlayer1" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>

If you'd like to use the JS extension, include the code below in your HTML file (it usually goes inside the head section). You may set the height and width of the Flash (in blue, above) to 0 to make it disappear -- or use CSS, alternatively.

<script type="text/javascript" language="javascript" src="niftyplayer.js"></script>

Also, you may want to check out the FlashMP3alizer script too.

Reference

Parameter Explanation
file=betty.mp3 substitute betty.mp3 for the file you want to play
as=1 this specifies whether you want the file to auto-start playing. you may ommit as if you don't want it to auto-start.

Download

Note: Please do not hotlink to NiftyPlayer. I do have to pay for bandwidth, you know? :)

Get the NiftyPlayer here!

(This program is licensed under the MIT License, which, to put it in non-legal terms, allows you to share, use and modify it. Even for commercial purposes. Check out the Wikipedia article on this license for more.)

Acknowldgements

Part of the JavaScript code was pretty much copied from this website http://www.moock.org/webdesign/flash/fscommand/. They offer a great explanation of Flash/Javascript interoperation.

The info they give may be a little outdated by now, though...

News

Version 1.7 is out: Bug-fix release. Introduces the getState() JavaScript function.

Now with "News" section!