如何更新在服务中运行的android exoplayer?

问题描述

作为我的第一个应用项目的一部分,我正在开发一个播客播放器应用。我在前台服务中使用 exoplayer 并且它的行为完美。我可以退出应用程序,打开其他应用程序,使用通知栏控制播放,关闭屏幕,然后继续播放。这就是我所追求的,因为它只有音频。

我遇到的问题是更改播客。为了改变正在播放的应用程序必须完全结束。我有点明白为什么。我正在使用 <?xml version="1.0" encoding="UTF-8" ?> <VisitsRotaData> <Elders> <Elder>Elder 1</Elder> <Elder>Elder 2</Elder> <Elder>Elder 3</Elder> <Elder>Elder 4</Elder> <Elder>Elder 5</Elder> <Elder>Elder 6</Elder> <Elder>Elder 7</Elder> <Elder>Elder 8</Elder> </Elders> <Publishers> <Publisher>Publisher 1</Publisher> <Publisher>Publisher 2</Publisher> <Publisher>Publisher 3</Publisher> <Publisher>Publisher 4</Publisher> <Publisher>Publisher 5</Publisher> <Publisher>Publisher 6</Publisher> <Publisher>Publisher 7</Publisher> <Publisher>Publisher 8</Publisher> <Publisher>Publisher 9</Publisher> <Publisher>Publisher 10</Publisher> </Publishers> <Style>ElderlyInfirm-Schedule-v2.xsl</Style> </VisitsRotaData> 来启动调用 onBind() 的应用程序,但是当我返回到另一个播客并单击播放时,它不会再次调用 initializePlayer(),这是有道理的.

我想我需要的是 onBind() 类中的 updatePlayer() 函数并从我的 PlaypodcastService 某处调用它,但我不知道如何比较什么/如果当前正在播放并将其与当前选择的播客进行比较。

我尝试使用 PlaypodcastFragmentonSaveInstanceState(),但日志语句没有显示它们被调用

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)