你好,我是 android 开发的新手,在我的应用程序中,我创建了一个音乐类来访问媒体播放器的每个活动。我有大约 50 个活动。我的音乐类有静态媒体播放器对象。每个活动都有下一个按钮和前进按钮。单击下一个按钮时,有一个静态计数器会随着单击而增加。每个计数器值都有不同的歌曲。所以我想停止第一首计数器值歌曲并开始下一首。在前进时必须这样做。
任何人都有想法,如何实现停止第一首歌曲并开始下一首歌曲的静态方法。
这是我的代码。
public class Music extends Application implements OnCompletionListener {
public static MediaPlayer mp=null;
public static void playGeneric(int name, final ImageButton button,final ImageButton pervious,Context context) {
button.setEnabled(false);
button.setClickable(false);
pervious.setEnabled(false);
pervious.setClickable(false);
try{
mp = MediaPlayer.create(context, name); // used to re-initialze the mediaplayer for reuse since resources were released.
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
mp.start();
}
});
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.release();
System.out.println("Object released");
button.setEnabled(true);
button.setClickable(true);
pervious.setEnabled(true);
pervious.setClickable(true);
}
});
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
e.getMessage();
} catch (NullPointerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
e.getMessage();
}
}
public static void stopplaying() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
}
在下一个按钮上的活动上单击静态计数器增量
if (v == next) {
counter++
if (counter == 1) {
Log.i("counter", "value :: " + counter);
Music.playGeneric(audio, next,pervious, getBaseContext());
}
if (counter == 2) {
Music.playGeneric(audio, next,pervious, getBaseContext());
}
....................................
if(counter==25){}
}
像这样。现在我想停止音乐,如何停止?请帮我。