最近几天写WP的后台音乐播放把我惆怅死了,这个后台代理的播放不是一般的麻烦,竟然只能通过独立存储来和UI进行交互,好吧,总之来说下这个后台代理吧,然后说说我遇到的一些问题。
对于BackgroundAudioPlayer来说,它是一个后台代理,和调用它的一个用程序不在同一个线程内,好调用它的应用程序无法共享变量等资源,唯一能共享的是应用程序的独立存储
1、代理中的OnUserAction函数,是负责用户动作的函数,即在app的UI调用player.SkipNext或者player.SkipPreviou或者通过锁屏界面上的音乐控制界面控制音乐播放时触发该事件,同时会触发代理中OnPlayStateChanged。
2、OnPlayStateChanged,该事件不仅会在OnUserAction时触发,在代理自动切换时也会触发。
3、在Player播放的曲目切换时会执行AudioPlayer代理的构造函数。
4、在代理中播放的音乐,可以在“zune”中的音乐播放看到
5、在使用后台代理做播放器时,要考虑到程序休眠时,其他音乐程序调用后台代理播放器之后,再回到应用程序时播放列表的问题,因为手机只有一个播放器实例,如果进入应用程序时,backgroundaudioplayer正在播放其他应用程序的音乐,这种情况要获取播放器实例并且播放,要手动调用play函数,其才会播放。