@alf, about playing pages-with-audio vs audio-with-html, either way is better than the current situation.
The tricky thing about playing pages-with-audio is knowing when the song is over, so that the master controller can manage the playlist as a whole. If the media renderer is in the target page, it would need to communicate with the controller. In client software like songbird or foxytunes it’s possible for the client to arrange out of band comms using browser extensions. If the controller is pure AJAX, you’d probably need a cross-frame technique like local cookies; but how to figure out when the controller in the target is hosed? Tricky hacking ahead.