如何从不同的活动中更改媒体播放器

时间:2012-01-16 02:05:57

标签: java android android-mediaplayer

我想知道我是否可以在一个活动中声明媒体播放器变量,然后在单独的活动中暂停或停止它。我将如何解决这个问题还是有另一种方式?感谢

2 个答案:

答案 0 :(得分:2)

您可以在活动中使用MediaPlayer的静态变量,以便使用YourActivityName.mediaplayer.stop()访问媒体播放器

使用service
我更喜欢service

答案 1 :(得分:1)

我不是静态变量的粉丝。我更喜欢做这样的事情

Android Manifest

<activity name="Player" android:launchMode="singleTop"/>

此前者确保您只有一个活动实例在运行,并且导致启动该活动的所有意图都通过其onNewIntent()

传递
class Player extends Activity{
  public static final String ACTION_PLAY = "com....PLAY";
  public static final String ACTION_PAUSE = "com...PAUSE";

  public void onNewIntent(Intent intent){
    if(intent.getAction().equals(ACTION_PLAY)){
      //Play
    }
    else if(intent.getAction().equals(ACTION_PAUSE){
      //Pause
    }
  }
}

从调用活动中,您可以调用

Intent playIntent = new Intent(this, Player.class);
playIntent.setAction(Player.ACTION_PLAY);

Intent pauseIntent = new Intent(this, Player.class);
pauseIntent.setAction(Player.ACTION_PAUSE);