How can we improve the Windows platform?

MediaPlayer support for BackgroundAudioAgent

In trying to develop a custom playlist application, it is apparent that it is impossible to integrate the BackgroudAudioPlayer with the XNA.MediaLibrary. This means that applications that wish to use the capabilities of the BackgroundAgent are restricted to using only local audio files that are deployed with teh application, or audio streaming sources. There is no way to access the phone's MediaLibray.Songs to have the BAP play these files in teh background. This is highly restrictive because we can only use the MediaPlayer for foreground applications. Unless of course we go with a predetermined SongCollection such as SongCollection limitedPlaylist = new MediaLibrary.Songs; This stops the ability to create custom playlists.

There are really a number of ways MS could address this limitation:
1. Expose the SongCollection class so we can add and remove song objects from custome song collections. This way we can pass the entire SongCollection object to the MediaPlayer.Play() method, and providing we don't stop the MediaPlayer, the entire playlist will continue to play despite other foreground applications running.

2. Allow the BackgorundAudioAgent to utilise the XNA framework so that the device's song library can be played and manipulated from the background. You would also need to provide a conversion mechanism to convert a Song to an AudioTrack - as is the default file type for the BAP.

3. Relax the restrictions around application running under a locked screen and/or in the background. So long as the user must explicitally accept the use of teh app in the background, then why is it an issue. Users understand the additional strain this would potentially put on battery life, but by accepting they agree that it's okay.

These are only my suggestions, there may be smarter ways to achieve this, but in the end, the current functionallity is pointless.

I like the idea of simply adding APIs for creating/modifying/deleting music playlists. Think about how alarms work - WP8 keeps track of them and plays them when they're scheduled, but we can manage them programmatically, as it should be. Why lock down music playlists? That combined with the horribly implemented built-in support for user-created playlists makes me wish I skipped WP8 like I did WP7.