你好,我是android开发的新手,在我的应用程序中我创建了一个类Music来访问媒体播放器每个activity.i有大约50个活动。 MY Music class拥有静态媒体播放器对象。 每个活动都有下一个按钮和前进按钮。单击下一个按钮,有一个静态计数器将根据click.each计数器值增加不同的歌曲。 所以我想要停止第一个计数器价值歌并开始下一个。必须完成同样的前进。
任何人都有想法,如何实现停止第一首歌并开始下一首歌的静态方法。
这是我的代码。
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;
}
}
}
on下一个按钮的活动点击静态计数器增量
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){}
}
像这样。现在我想停止音乐,如何阻止音乐?请帮忙 我
答案 0 :(得分:0)
@Sydroid你需要在下一个和第二个前面做两个静态方法1并在你单击next和previous之前调用它,在next和previous方法中调用你的stopplaying()方法,然后递增你的计数器并调用palygeneric()。 / p>