HLDJ (Half-Life DJ) is a additional application to various online games (mostly by Valve) including Portal 1 and 2, Team Fortress 2 Beta and Team Fortress 2. With it, you are able to allocate various sounds and songs to your games to be able to play them to everyone in your server. For an example let's use Team Fortress 2.
When you open HLDJ, you should open a small box asking if you would like to add all your games, you can click no, and add games you need, or select yes and HLDJ will search your files for compatible games. Once this games load you will need to allocate a hotkey to each game, which will play the songs or sounds when you press it in game, careful though when you decide, when using this it overwrites the origianal key's command and replaces it with the sounds, it is recommended that you play these sounds with a key with no purpose or one you never use in-game, and one thats hopefully no-where near any keys that will minimise Team Fortress 2 etc, for example I tried to use F2, but my keyboard only allows me to use alt-purpose for F2 when holding Fn, and I would find myself pressing the Windows button which would minimise my game and I would time out and have to reconnect when it comes back on, So I changed it to Q which usually switches to your last weapon but I never use it and it's close to the WASD keys which makes it easy to use.
Once you've done that, you will need to add some songs and sounds, if you have mp3 songs, the HLDJ in-built converter will change them to .wav files so they are playable in-game, don't worry, this just copies your sounds to a HLDJ folder in .wav form, where ever your original files were should still be there, and in mp3 format, this program doesn't convert mp4 files.
Once converted you should most likely be ready to start. Instead of starting Team Fortress 2 through Steam or your desktop icon, you will need to start it through HLDJ for your sounds and songs to be playable. To do this go to the HLDJ main menu where all your games infomation is shown, and press the green sideways triangle, meaning start, when you have the game you want selected, this should open the Steam box saying "Preparing to launch Game Name...." For example "Preparing to launch Team Fortress 2..." When the game opens it should be slightly different, nearer to the right a large box will appear with a whole heck 'a words in, simply type "la" and the name of your songs with a number to the left of them should be displayed in two rows, this is the automatic numbers your songs have been allocated,for example if I press 20 I can play one of my favourite sounds. Here comes the fun bit.
Not all servers allow HLDJ, some will ban you from the server for using it, find out which servers use HLDJ, these are usually servers which don't run normal modes but the more relaxed modes such as Versus Saxton Hale, or Trade Plazas. Once you find a server that runs it, either press esc or ` to open the main menu in-server. If you haven't close it, which you really shouldn't then you should have that large box with your songs names there, if you can't see the names anymore, type "la" again, all this does is refresh the list so you can see your song names again. Type in the number allocated to the song or sound you want to play. Then quit the menu....Did you remember your hotkey? Press it to unleash a wave of sound or music throughout the room for everyone to hear, your sounds appear the same way voice chat does, in a little RED or BLUE box in the corner so everyone knows you have something to say, if it doesn't play you have either stumbled upon a server which doesn't allow HLDJ, or the more unlikely case that your song didn't convert properly, make sure your song was already either a .wav or a .mp3 and is in the HLDJ folder, and when converting the songs make sure the amount of converted songs is identical to the number of songs in the folder you converted. If you are still having problems then check the HLDJ website. Just search HLDJ in Google.
Have fun using famous quotes or songs in-game for everyone to hear.
Extra infomation based on HLDJ in servers:
Micspam This is the process of playing songs through HLDJ, its not a bad kind of spam but it's what this whole answer is about.
Multispam This is when two or more people are playing songs at the same time, if you try to play a song while someone else is doing so then a administrator or a mod could ban your for a while, it's best to discuss turns or wait for another person to finish and be polite, you can get away with playing around 4 second sounds during someone elses song just don't over do it.
Longspam This is when a song lasts too long that it's stopping anyone else from having a turn to play a song, no-one wants to listen to a 13 minute song.
Echoing: If your HLDJ isn't working or isn't allowed in server due to the server standards or mute you should only hear the echoing of your mic in the background instead of the song or sound.
Happy spamming =)