Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在播放器中添加循环和洗牌_Android - Fatal编程技术网

Android 如何在播放器中添加循环和洗牌

Android 如何在播放器中添加循环和洗牌,android,Android,如何在android中添加循环和洗牌。我添加了循环和洗牌,但它不起作用。请解决此问题并帮助我。以下是我的代码详细信息。在中,我想添加重复和洗牌选项,我做了一些编码,如下所示 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.player); fin

如何在android中添加循环和洗牌。我添加了循环和洗牌,但它不起作用。请解决此问题并帮助我。以下是我的代码详细信息。在中,我想添加重复和洗牌选项,我做了一些编码,如下所示

                @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player);
    final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
      // MusicPlayerActivity.mpObject.setOnCompletionListener(this);
       settings=(Button)findViewById(R.id.settings);

       hide=(Button)findViewById(R.id.hide);
       loop=(ImageButton)findViewById(R.id.btnRepeat);
       shuffle=(ImageButton)findViewById(R.id.btnShuffle);
       time_duration=(TextView)findViewById(R.id.time_duration);
       total_time_duration=(TextView)findViewById(R.id.total_time_duration);


       volumebar=(SeekBar)findViewById(R.id.volbar);
      volumebar.setMax(maxVolume);
       volumebar.setProgress(curVolume);
       volumebar.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) {

               System.out.println("changing volumes.....");
               audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0);
           }
       });

      seekBar = (SeekBar) findViewById(R.id.seekBar);
    seekBar.setMax(300);
    seekBar.setOnSeekBarChangeListener(this);

    play=(ImageView) findViewById(R.id.player_play_pause_image);
    settings.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i=new Intent(MusicPlayerActivity.this,Settings.class);
            startActivity(i);
        }
    });
    mBinder = new ServiceBinder(this);
    mBinder.bindService(new ServiceBinderDelegate() {

        @Override
        public void onIsBound() {
            togglePlay(Songs.current_track);

        }
    });
     loop.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                if(isRepeat){
                    isRepeat = false;
                    Toast.makeText(getApplicationContext(), "Repeat is OFF", Toast.LENGTH_SHORT).show();
                    loop.setImageResource(R.drawable.ic_launcher);
                }else{
                    // make repeat to true
                    isRepeat = true;
                    Toast.makeText(getApplicationContext(), "Repeat is ON", Toast.LENGTH_SHORT).show();
                    // make shuffle to false
                    isShuffle = false;
                    loop.setImageResource(R.drawable.ic_launcher);
                    shuffle.setImageResource(R.drawable.ic_launcher);
                }
            }
        });

    linearplayerlayout=(LinearLayout)findViewById(R.id.playerlayout);

      utils = new Utilities();

      mIndex=Songs.current_track;
     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy);
    //   add=(Button)findViewById(R.id.add);


     hide.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        //  clear_music();
            //finish();
            Songs.current_track=mIndex;
            moveTaskToBack (true);
        }
    });


    seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            if (mIsTrackLoaded)
                mBinder.getService().seek((float) seekBar.getProgress() / seekBar.getMax());
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

        }
    });

    shuffle.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            if(isShuffle){
                isShuffle = false;
                Toast.makeText(getApplicationContext(), "Shuffle is OFF", Toast.LENGTH_SHORT).show();
                shuffle.setImageResource(R.drawable.ic_launcher);
            }else{
                // make repeat to true
                isShuffle= true;
                Toast.makeText(getApplicationContext(), "Shuffle is ON", Toast.LENGTH_SHORT).show();
                // make shuffle to false
                isRepeat = false;
                shuffle.setImageResource(R.drawable.ic_launcher);
                loop.setImageResource(R.drawable.ic_launcher);
            }
        }
    });


    findViewById(R.id.player_prev).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            playPrev();
        }
    });

    findViewById(R.id.player_next).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            playNext();
        }
    });

    findViewById(R.id.player_play_pause).setOnClickListener(

    new OnClickListener() {

        @Override
        public void onClick(View v) {
            System.out.println("TOGGLE PLAY");
            togglePlay(mIndex);
        }
    });



}

在…上浏览库时,您可以快速将歌曲添加到队列中。。。将音乐添加到队列的菜单图标

使用屏幕底部“正在播放”栏上的按钮控制播放、无序播放歌曲或重复播放歌曲


这是一个快速参考指南,现在正在播放的屏幕。。。上一轨道或下一轨道;如何重新排列播放队列;如何重复或洗牌播放队列;溢出菜单。。。添加到播放队列:将此项目放置在播放队列的末尾

您好,我添加了重复和洗牌,但它不工作,请检查