Android的媒体播放器惯于播放停止后(Android Media Player Wont Pla

2019-08-23 00:37发布

我有5首歌曲的音乐播放列表。 我只想说播放和停止按钮的应用程序工作,只要IM。 而且我可以停止音乐时,我想和启动另一个。

这是如何工作......现在的音乐播放上播放按钮,当我点击停止按钮停止,但后来我想再次玩一些其他的歌曲,或同一首歌,没有任何反应。 请帮忙。

public class glavna extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.activity_main);



    final MediaPlayer MPRadio1 = MediaPlayer.create(this, R.raw.pj1);
    final MediaPlayer MPRadio2 = MediaPlayer.create(this, R.raw.pj2);
    final MediaPlayer MPRadio3 = MediaPlayer.create(this, R.raw.pj3);
    final MediaPlayer MPRadio4 = MediaPlayer.create(this, R.raw.pj4);
    final MediaPlayer MPRadio5 = MediaPlayer.create(this, R.raw.pj5);

    final RadioButton rb1, rb2, rb3, rb4, rb5;      

    rb1 = (RadioButton) findViewById(R.id.radio1);
    rb2 = (RadioButton) findViewById(R.id.radio2);
    rb3 = (RadioButton) findViewById(R.id.radio3);
    rb4 = (RadioButton) findViewById(R.id.radio4);
    rb5 = (RadioButton) findViewById(R.id.radio5);


    Button btn = (Button) findViewById(R.id.buttonplay);
    Button btnStop = (Button) findViewById(R.id.buttonStop);

    btnStop.setOnClickListener(new View.OnClickListener() {

    public void onClick(View b){

        MPRadio1.stop();
        MPRadio2.stop();
        MPRadio3.stop();
        MPRadio4.stop();
        MPRadio5.stop();


    };
    });


    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



            if(rb1.isChecked())
            {       

            MPRadio1.start();

            }
        else
            {
            if(rb2.isChecked())
            {

                MPRadio2.start();
            }
                else
                {
                    if(rb3.isChecked())
                    {
                    MPRadio3.start();

                }
                    else
                    {
                        if(rb4.isChecked())
                        {
                        MPRadio4.start();

                    }
                        else
                        {
                            if(rb5.isChecked())
                            {
                            MPRadio5.start();

                            }

                        }   
                    }
                }
            };
        }
    }

        );}}

Answer 1:

再次播放歌曲复位媒体播放器,重新设置数据源和启动

mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();


Answer 2:

当按下播放按钮停止后,再播放按钮永远不会奏效 - 对于这个问题,我们可以在停止按钮重新创建对象。 对于例如; -stop.setOnClickListener(新OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(mPlayer.isPlaying())
            mPlayer.stop();
            mPlayer  = MediaPlayer.create(mediaplayeractivity.this, R.raw.adidas);
        }
    });}


Answer 3:

当你以后打不会打工作的停止按钮...只是让你的MediaPlayer对象作为一个对象数组应该修复它..

final MediaPlayer[] mediaPlayer = {MediaPlayer.create(getApplicationContext(), R.raw.song_name)};

stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            mediaPlayer[0].stop();

            mediaPlayer[0] = MediaPlayer.create(getApplicationContext(),R.raw.song_name);
        }
    });


文章来源: Android Media Player Wont Play After Stop