Click here to Skip to main content
Licence 
First Posted 7 Sep 2003
Views 217,895
Bookmarked 111 times

MP3 Player Server Control

By | 7 Sep 2003 | Article
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

About the Author

Andrew Boisen

Software Developer

Australia Australia

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralRe-building the dll PinmemberFollowTheSon6:51 7 Feb '08  
QuestionWant to have control over place from where it plays? PinmemberRahul N2:47 4 Jun '07  
GeneralRe: Want to have control over place from where it plays? PinmemberMyLabRuby4:25 14 Apr '08  
QuestionUsing the control for comercial purpose PinmemberSujeet753:26 4 Apr '07  
AnswerRe: Using the control for comercial purpose PinmemberAndrew Boisen12:05 4 Apr '07  
GeneralRe: Using the control for comercial purpose PinmemberThe Haven1:04 5 Apr '07  
GeneralRe: Using the control for comercial purpose Pinmemberpanuvin18:34 13 Sep '07  
I'd also like to use this for commercial purposes. Basically, what I need is an mp3 player that'll work in CLASSIC ASP. Can you do this? If so, please email me at justinr_02@yahoo.com. Thanks!
 
Panuvin / justinr_02@yahoo.com
QuestionRe: Using the control for comercial purpose PinmemberSujeet7522:21 12 Apr '07  
Questionstruggling to upload into my application PinmemberThe Haven0:02 4 Apr '07  
AnswerRe: struggling to upload into my application PinmemberThe Haven0:58 4 Apr '07  
QuestionChanged the Flash File PinmemberMember #31295499:48 8 Jan '07  
AnswerRe: Changed the Flash File Pinmemberil456lm3:29 9 Jan '07  
QuestionControl loads but won't play file Pinmemberbswanson2710:49 1 Jan '07  
AnswerRe: Control loads but won't play file PinmemberThe Haven0:59 4 Apr '07  
GeneralMP3 is playing too fast PinmemberAaron Dye5:14 7 Nov '06  
GeneralSetting Source to URL Pinmemberericsnet12:11 27 Sep '06  
GeneralVideo Pinmemberrauljuarez4:56 15 Feb '06  
Generaltrouble displaying control PinmemberScott Hooper12:43 1 Nov '05  
GeneralRe: trouble displaying control PinmemberH Ph14:57 26 Jul '06  
GeneralChange Looks Pinmemberproka.ro0:52 26 Jul '05  
Generalusing a different Src Pinmembertheodors8:19 23 Jun '05  
GeneralRe: using a different Src PinsussAnonymous12:30 23 Jun '05  
GeneralRe: using a different Src Pinmembertheodors22:25 23 Jun '05  
Generalplaylist PinsussAnonymous15:45 8 Feb '05  
GeneralRe: playlist Pinmemberkmart11:39 14 Apr '05  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web03 | 2.5.120529.1 | Last Updated 8 Sep 2003
Article Copyright 2003 by Andrew Boisen
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid