Question: I am getting married this coming Saturday (May 30 2009). We are poor. So, instead of hiring a DJ, I want my friend to kick off mp3 playlists from a laptop to be played through a PA system.

Well I had a vision for some software that would be perfect for this. Here is that vision:
![alt text](https://lh3.ggpht.com/_1RtF2lqDv2g/ShxExPnO1FI/AAAAAAAAFg0/wW_pnSNT-bY/s800/may30mediaplayer.jpg)

I want this to be so that my friend can't screw this up and I think that if my vision were a reality then there would be no screwing up.

And now for the programming question? How can I play mp3's from .net code? I am currently experimenting with NAudio, but I don't know if I can make it fade the files in/out.

Are there any other free libraries out there that could help me? Thanks for any input. Time is of the essence.

PEOPLE!
=======

Focus on the programming question! If I ever need to work with audio in the future, your answers could be the keys to my destiny.

Answer: 
By far the simplest and easiest solution here is to use the **Windows Media Player COM control**. [This page](http://grouplab.cpsc.ucalgary.ca/cookbook/index.php/VisualStudio/HowToUseWindowsMediaPlayerToPlayAudioAndVideo) offers a good guide to getting started with this approach. Just adjusting the volume level with a timer could create a fade in/out effect.

If you want full control over playback, then there's always the [**DirectShow.NET**](http://directshownet.sourceforge.net/) option, although this is probably overkill for you're task. What is more, it's quite painful to use unless you already have some amount of experience with the unmanaged DirectShow API. However, as I said, I would try to stay away from this if possible.

**Edit:** I have also now realised that the [`Microsoft.Xna.Framework.Media`](http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.aspx) namespace could offer a nice managed solution for your task. It should certainly give more control than the WMP control (and is purely .NET rather than COM, as bonus). The only slight disadvantage is that it requires the XNA Framework 3.0 to be referenced.
Download [MediaMonkey](http://www.mediamonkey.com/). You have better things to do a week before your wedding than write another MP3 player. MediaMonkey even has a DJ mode that locks your system so that your guests can't change your playlists.