停止按钮不起作用

时间:2014-01-11 12:29:41

标签: android android-mediaplayer


这是播放和停止媒体播放器的代码 它使音乐成功并播放了。但是停止按钮不起作用 为什么它不起作用?
请告诉我正确的代码
感谢

    mp = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Titraj/"+name+".mp3"));


    play.setOnClickListener(new OnClickListener(){

         @Override
            public void onClick(View arg0) {
                if(mp.isPlaying()){
                    if(mp!=null){
                        mp.pause();
                        play.setImageResource(R.drawable.play);
                    }
                }else{
                    if(mp!=null){
                        mp.start();
                        play.setImageResource(R.drawable.pa);
                    }
                }

            }
        });
    stop.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
               if(mp.isPlaying()){
                    if(mp!=null){
                        mp.stop();
                    }
             }  
        }
        });

    mp.setOnCompletionListener(new OnCompletionListener(){

        @Override
        public void onCompletion(MediaPlayer arg0) {
            play.setImageResource(R.drawable.play); 

        }
    });

3 个答案:

答案 0 :(得分:0)

在你的停止方法中尝试这个

mp.stop();
mp.release();
mp= null;

答案 1 :(得分:0)

 mp = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Titraj/"+name+".mp3"));


    play.setOnClickListener(new OnClickListener(){

         @Override
            public void onClick(View arg0) {
                if(mp.isPlaying()){
                    if(mp!=null){
                        mp.pause();
                        play.setImageResource(R.drawable.play);
                    }
                }else{
                    if(mp!=null){
                        mp.start();
                        play.setImageResource(R.drawable.pa);
                    }
                }

            }
        });
    stop.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
               if(mp.isPlaying()){

                        mp.stop();



             }  
        }
        });

    mp.setOnCompletionListener(new OnCompletionListener(){

        @Override
        public void onCompletion(MediaPlayer arg0) {
            play.setImageResource(R.drawable.play); 

        }
    });


Check this code i hop it working....

答案 2 :(得分:0)

使用这个....

stop.setOnClickListener(new OnClickListener(){

 @Override
 public void onClick(View arg0) {
       if (mp != null) {
        mp.stop();
        mp.release();
        mp = null;
   }
    }
 });

还必须检查您是否未在xml文件中为您的按钮设置 android:focusable = false