Java随机MediaPlayer播放列表

时间:2014-05-13 22:19:35

标签: java android eclipse media-player

我在eclipse上创建一个Android应用程序。当我开始我的活动时,我已经让它在后台播放音乐(song1.wav)。但是,如何更改它以便以随机顺序播放歌曲列表?

这是我的代码:

public class BCTR extends Activity {
     protected MediaPlayer song1MediaPlayer;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_bctr);

        Button homebutton = (Button) findViewById(R.id.homebtn);



          final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
            int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
            int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
            SeekBar volControl = (SeekBar)findViewById(R.id.volbar);
            volControl.setMax(maxVolume);
            volControl.setProgress(curVolume);
            volControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onStopTrackingTouch(SeekBar arg0) {
                }

                @Override
                public void onStartTrackingTouch(SeekBar arg0) {
                }

                @Override
                public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
                    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0);
                }
            });


            song1MediaPlayer = MediaPlayer.create(BCTR.this, R.raw.song1);
            song1MediaPlayer.start();

            homebutton.setOnClickListener(new OnClickListener()
            {
              public void onClick(View v)
              {

                   song1MediaPlayer.stop();
                  Intent intent = new Intent(BCTR.this, MainActivity.class);
                    startActivity(intent);
              }
            });



        // TODO Auto-generated method stub
    }

}

所以基本上我在我的原始文件夹中有song1 - song10,并且我希望它们在活动开始时以随机顺序播放。

1 个答案:

答案 0 :(得分:0)

假设您有一个名为AbstractList<Integer>的{​​{1}}变量,其中包含0,1,2,...,n - 1作为其值。现在,让我们有一个方法负责从indexes变量中随机获取index和index元素:

indexes

您需要构建包含public int getRandomNumber(numberOfElements) { java.util.Random rnd = new java.util.Random(); return rnd.nextInt(numberOfElements); } 的{​​{1}}(例如,您可以使用AbstractList<Integer>类进行实例化)然后

indexes