首页 文章

Android Media Player不会停止播放

提问于
浏览
6

我有5首歌曲的音乐播放列表 . 我只是希望播放和停止按钮工作只要我在应用程序中 . 并且我可以在我想要的时候停止音乐并开始另一个音乐 .

现在的效果如何...音乐在PLAY按钮上播放,当我点击STOP按钮时它会停止,但是我想再播放一首其他歌曲或同一首歌,没有任何反应 . 请帮忙 .

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();

                            }

                        }   
                    }
                }
            };
        }
    }

        );}}

3 回答

  • 7

    再次播放歌曲重置媒体播放器,再次设置数据源并启动

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

    当停止后按下播放按钮,然后播放按钮永远不会工作 - 对于这个问题,我们可以在停止按钮中再次创建对象 . 例如; -stop.setOnClickListener(new 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);
            }
        });}
    
  • 0

    当你点击停止按钮后游戏不能工作...只需将你的媒体播放器对象作为一个应该修复它的对象数组 .

    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);
            }
        });
    

相关问题