我有下一个情况 - 我开发音乐应用程序,它包含媒体服务。 该应用程序还包含MainActivity,其中包含4个片段。在每个片段的底部有一个有游戏的栏,跳过下一个,跳过前一个,随机播放和重复,看起来像这样:
底部的栏指的是MainActivity。 此外,在“专辑”选项卡和“播放列表”选项卡中,您可以点击相册和播放列表的列表,它将带您进入另一个带有录音专辑/播放列表歌曲的活动。我只有一个服务,所以我将它绑定到所有服务(一个片段,两个活动,实际上我有泄漏,但这是另一个问题)
问题是我如何从底部的那个栏控制媒体播放(跳过/上一个,播放/暂停,随机播放,重复播放)。
我已经在按钮上设置OnClickListener
并尝试调用服务方法,但在这种情况下我遇到如下错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.media.MediaPlayer.isPlaying()' on a null object reference
我试过了两个:
private MediaPlayerService mediaPlayerService = MediaPlayerService.getInstance()
以防万一
private MediaPlayerService mediaPlayerService = new MediaPlayerService()
(当然最后一个不起作用)
我试图制作mediaPlayer
单身,是的,它有效,但是skipNext / Previouse还有另外一个问题 - int的songPosition和(ArrayList)也应该是单身(或者是类中的静态),不错,我做到了,但后来另一个问题prepareAsync
在状态1错误中调用... W @ T @ F @ ...对不起,这是我的第一个项目,也许我做了很简单的事情,开发出来很复杂。任何帮助都会很棒。
谢谢。
答案 0 :(得分:0)
好的,最后我找到了答案,说实话,这并不是很难。实际上我忘记做的是将服务绑定到MainActivity,在我做完之后,一切顺利。