2012-04-11 56 views
0

我已经在活动A中启动了一个声音,并且想要在活动B中停止它。我该怎么做?检查isPlaying()在另一个活动

下面是我使用启动声代码:

MediaPlayer mp = MediaPlayer.create(con, R.raw.siren1); 
mp.start(); 

感谢。

编辑: 这里的解决方案:

活动A

static MediaPlayer mp; 
......... 
mp = MediaPlayer.create(con, R.raw.siren1); 
mp.start(); 

活动B

confirmButton.setOnClickListener(new View.OnClickListener() { 
public void onClick(View view) { 
     if (SmsReceiver.mp.isPlaying() == true) { 
    SmsReceiver.mp.stop(); 
    } 
finish(); 
    } 
}); 

回答

2

你可以声明MediaPlayer对象为静态,然后是指从其他活动吧。

+0

你的意思是这样的:private static MediaPlayer mp;如果是的话,我怎么能从其他活动中引用它?谢谢。 – bond 2012-04-11 22:13:37

+0

好吧,它的工作原理。谢谢 – bond 2012-04-11 22:24:13

0

您应该可以在静态类(单一设计)中跟踪MediaPlayer对象。这样,您可以从任何地方访问该对象。看看这个:Singleton Design

相关问题