I was very dissatisfied when I realized that the MediaLibrary\'s GetVisualizationData() returns a bunch of zeros on WP7. What are the other approaches I could apply in order
Per the documentation (as of the writing of this post):
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.isvisualizationenabled.aspx
"Visualization data is not available on Windows Phone. Any attempt to get visualization data on the phone will populate the VisualizationData class with 0s."
If this is a feature you'd like to see supported on windows phone, you should go to the Connect site and submit an issue. These issues are tracked, and especially if you're able to get community support behind it and get people to vote on it, perhaps it will be implemented in a future release :-)