我正在使用BackgroundAudioPlayer
来获取我的Windows Phone 7音乐&视频应用。播放一些音乐后,我使用MediaPlayerLauncher
播放视频,然后按返回返回我的应用。每当我使用BackgroundAudioPlayer.Instance
时。我收到错误“后台音频资源不再可用”。
Someone on MSDN建议使用try / catch,但这不是一个好主意,可能会降低应用程序的速度。
其他建议在发布BackgroundAudioPlayer.Instance.Close()
之前致电MediaPlayer
。但是,当我播放音乐时,代理会再次加载.dll,这需要很长时间。
如何解决这个问题?
答案 0 :(得分:2)
如果您在播放音频后播放视频,操作系统肯定会“终止”您的背景音频播放器。从您的问题来看,这似乎可以100%重现,这可以证实这一点。您唯一的选择是在拨打BackgroundAudioPlayer.Instance.Close()
后重新启动后台音频播放器,然后播放您的视频。正如您所说,在启动BAP时需要重新加载播放器DLL。
更新后续评论
如果您没有实现流媒体音频代理但只实现了AudioPlayer代理,那么无论如何都无法执行任何流程。操作系统会在需要让您处理操作时启动进程(例如:用户操作,跟踪结束,关闭)。
BackgroundAudioPlayer.Instance.Close()
只是确保操作系统在OP等场景中干净地释放这些资源。
要重新启动背景音频,只需再次拨打BackgroundAudioPlayer.Instance.Play()
。