【问题标题】:How to avoid creating a new instance of MediaPlayer when returning to activity返回活动时如何避免创建MediaPlayer的新实例
【发布时间】:2016-07-14 10:23:32
【问题描述】:

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

我也无法让mediaPlayer.create() 工作,因为我正在使用需要

的 soundcloud 连接
mediaPlayer1.reset();
mediaPlayer1.setDataSource(getResources().getString(R.string.Basic_lesson_1));
mediaPlayer1.prepareAsync();

行。仅当一个新的 MediaPlayer 尚不存在时,我如何才能实例化它?

【问题讨论】:

  • 创建静态媒体播放器并检查是否为空
  • @Pravin 已修复,谢谢!!!

标签: java android view connection media-player


【解决方案1】:

创建全局静态媒体播放器并始终按照@Pravin 所说执行验证 同时创建媒体播放器之类的。

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

【讨论】:

  • 这修复了它!非常感谢!
【解决方案2】:
private static MediaPlayer mediaPlayer1 = null;

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

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
【解决方案3】:

如何在 backKeyPress 上调用 stop() 方法

【讨论】:

  • 我需要 MediaPlayer 继续播放:P
猜你喜欢
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多