如何避免在返回活动时创建MediaPlayer的新实例

问题描述:

我正在使用MediaPlayer,并且当用户通过按回来离开活动(我希望发生这种情况)时,它会继续在后台播放,但是当用户他们无法控制已播放的MediaPlayer,因为mediaPlayer = new MediaPlayer()行会实例化一个新的。如何避免在返回活动时创建MediaPlayer的新实例

,因为我使用的是连接到的SoundCloud要求

mediaPlayer1.reset(); 
mediaPlayer1.setDataSource(getResources().getString(R.string.Basic_lesson_1)); 
mediaPlayer1.prepareAsync(); 

行我也不能得到mediaPlayer.create()工作。我如何才能实例化一个新的MediaPlayer只有一个不存在?

+1

唤起方法停止()创建静态媒体播放器和检查,如果不为空 – Pavya

+0

@Pravin这个固定它,谢谢! –

+0

@ J.Doe欢迎:) – Pavya

private static MediaPlayer mediaPlayer1 = null; 

//SomeActivity's onCreate() 
if(mediaPlayer1 == null) 
    mediaPlayer1.create(...); 
+0

虽然此代码片段可能会解决这个问题,[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)真的有帮助以提高您的帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – yennsarah

创建全局静态媒体播放器和@Pravin说 而创造的媒体播放器像往常一样执行验证。

if(mediaPlayer == null){ 
    mediaPlayer = new MediaPlayer() 
} 
+0

这个修好了!万分感谢! –

如何在backKeyPress

+0

我需要MediaPlayer继续播放:P –