Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

MP3 Player Server Control

0.00/5 (No votes)
7 Sep 2003 1  
Using Flash MX to create a server control for easily playing MP3s.

Screenshot

Introduction

I find a lot of .NET programmers often don't have much experience or knowledge of Flash and it's capabilities. One of the exciting features of Flash MX was that flash files could very easily load external MP3 files and control their playback. I decided that I would implement some of my Flash skills into making a control to sit in my Visual Studio Toolbox that I could easily drag and drop into any project and not have to worry about implementing the resource files. One of the features I worked on was having the Flash file self-contained within the DLL, and having the control intelligently deposit a copy of the Flash file into the appropriate directory, without the programmer having to worry about implementation or setup. Of course, I also liked the idea of using the property panel of Visual Studio to configure my Flash file in a no fuss, error-free manner. So I strived to make the control adaptable, with properties for console UI, looping, streaming and etcetera.

Using the PseudoMP3 server control

Of course, if your using an IDE like Visual Studio, you don't really need to know how to register or what the property names are. But for the sake of clarity...

The very first thing you need is to register the tag prefix.

<%@ Register TagPrefix="pseudoengine" Namespace="PseudoEngine" 
               Assembly="PseudoMp3" %>

Then you can create the control like so...

<pseudoengine:PseudoMP3 
    id="PseudoMP31" 
    runat="server" 
    Src="http://www.myDomain.com/myMp3.mp3"
    Stream="False" 
    AutoStart="False" 
    Loop="False" 
    Console="True">
</pseudoengine:PseudoMP3>

Properties explanation

  • Src: URL location of the MP3 file.
  • Stream: Boolean value to indicate whether MP3 file should be streamed. (Otherwise file is preloaded)
  • AutoStart: Boolean value to indicate whether file should start when page loads. (Guaranteed to annoy or your money back)
  • Loop: Boolean value to indicate whether file should play itself again when it ends.
  • Console: Boolean value to indicate whether to display the UI.

What's in the source files

Everything. The Flash source files, Visual Studio solution, a test harness web app and all the burritos you can eat. Well, maybe not the burritos.

Conclusion

Since I've finished this control, I've actually thought of a few extensions I could implement. It wouldn't be that hard to have the control generate an XML document describing a play list and feed it to the Flash file. You could also add properties to control the initial volume, start position of the track and specific number of loops to have the MP3 playback. Even maybe detect the ID3 metadata and feed the Flash file with the correct title of the song to display. Anyway, I'm bored with this project, so on to the next one.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here