Yes, there is a way to do this. Create a local proxy server and connect the MediaPlayer to that. See my answer here for a little more detail.
Edit: After looking at this on my PC instead of my phone, I noticed you mention embedding a server in your app. If done properly, it is lightweight and straightforward. And it will give you access to the raw data. I don't think it is a "kludge" at all.