0

你好,我是 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){}
    }

像这样。现在我想停止音乐,如何停止?请帮我。

4

1 回答 1

0

@Sydroid您需要创建两个静态方法1下一个和第二个上一个,并在您单击下一个和上一个时调用它,在下一个和上一个方法中调用您的stopplaying()方法,然后增加您的计数器并调用palygeneric()。

于 2013-10-15T06:15:20.450 回答