There is a very straightforward and cheap way to connect audio to a phone which I use in my e46. I have a bluetooth A2DP adapter bought from the purple shirt place for £20 and this goes into the aux in of my e46 radio (you might need an adapter/newer headunit for aux in). The bluetooth adapter is powered via USB so I used a USB cigarette lighter. As I have nav this is all completely hidden in the boot, for a normal headunit it would just fit nicely behind there.
Works fine with my Galaxy Note - it even loads up Tune In radio as soon as I turn the car on and starts playing the last stream I was on (you could do with with any media player though).
Video of the setup I use here:
http://www.youtube.com/watch?v=A4n2OQLSMQE&list=UUhfleHXHqrYyeQk6Qnc8-6g&index=3&feature=plcp
(Disclaimer: Please don't get butthurt with the rest of the video if you have an Apple device and say its not fair having a passcode -we require them for work email/calendar and the Android phone has one as well but the a2dp app works in the background without needing to unlock. The video is just explaining one of the benefits of tasking in Android - connecting audio to an A2DP adapter is not normally automatic on either Android or iOS for obvious reasons so you save a lot of presses here in a situation where you would want to swap the audio over automatically. It connects to my standard 'headset' car kit first and then that is the trigger for outputting the 'normal' stereo audio to the A2DP adapter as well.)