Make a P2P client that does the following:
1) When an MP3 file is uploaded, it wraps it with an outer executable layer, similar to how a self extracting Zip file is made with a lossless algorithm
2) When the person on the other end finishes downloading it, and opens it, it would give the user 3 plays, and then a chance to purchase the file. I suggest writing this in JAVA or some other platform neutral system.
3) When the user purchases the file, it removes the executable layer resulting in a standard, non-encrypted MP3 file, plus create a proof of purchase file that one could prove they legally purchased the song. This would work on any player, with any player software, on any operating system. Additionally, it would survive backups, space shifting, and computer hardware upgrades on the consumer end.