我已经迁移到 media3(版本 1.2.0),并且一直使用 uamp 作为指导。有一个类 MusicServiceConnection ,顾名思义,它将 UI 与等效的媒体浏览器服务连接起来。
在我的应用程序中,我在需要观察/收集播放状态的视图模型中使用此类的 dagger2 提供/注入单例实例。
一切正常,除了,如果我在播放音频时杀死应用程序(从最近的应用程序中滑开),则不会重新创建下一个应用程序启动 MusicServiceConnection (我在它的初始化块中有一个未被调用的打印日志),因此媒体浏览器未连接并且没有任何(音频相关)工作。
我从媒体控制器收到警告日志:
The controller is not connected. Ignoring setMediaItems()
The controller is not connected. Ignoring prepare()
再次终止应用程序,然后重新启动它可以解决问题,但这是一个糟糕的用户体验。
在音频暂停时终止应用程序不会导致第二次应用程序启动时出现问题。 由于某种原因,不使用单例也可以修复它,但这会导致其他问题,所以它不是一个可行的选择。
当我在浅色模式和深色模式之间切换时,我也遇到同样的问题,应用程序重新组合,然后播放器将停止播放,我在 logcat 中找到相同的报告:
控制器未连接。忽略 setMediaItems() 控制器未连接。忽略准备()
现在有什么解决办法吗?
如果你找到解决办法请告诉我。
非常感谢。