I know this post is getting old but wondering if this idea would work.
Place you MP3 files in a folder on ur webserver and use a deny all in a htaccess file which will stop people from direct access to your mp3s.
Then create a php file as ur container for the MP3's
for example
getMP3.php?mp3=myMP3
So on your mp3 player page u setup a session that holds the mp3 that the user wants to play. When the player hits the php file to load the mp3 it checks the session and if its there it passes the mp3 over. once its passed over the mp3 the session is removed and that mp3 cannot be played or linked to again unless the player is reloaded and the session is generated.
The above is just sample code to get the ideas going. the code may not be correct. I can see some ways around this method to get to the mp3s but it would slow me down as a user. I dont think there is any definate way of stopping your mp3s from being downloaded without being played through the actual mp3 player.