首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mp.stop()问题

mp.stop()问题
EN

Stack Overflow用户
提问于 2010-12-04 17:20:59
回答 2查看 1.5K关注 0票数 0

我是android新手,实际上这是我的第二个程序。我从昨晚开始编程,我花了几个小时试图找到解决方案!我阅读了这里的所有内容,我搜索了我的问题,但我仍然不能解决它!我的问题和往常一样,因为我知道单击另一个按钮时无法停止音频播放。我尝试了mp.release、stop、everything,但当我按下stop按钮或back时仍然崩溃!!我做错了什么??我有22个按钮,我播放了21首歌曲(顶部的一个按钮表示停止)。另外,我忘记提到,我试图使按钮时,点击第二次停止播放,但我做不到,这就是为什么我把停止按钮。

这是我的代码

代码语言:javascript
复制
package org.kidsongs;



import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.Button;

public class menu extends Activity {
    public MediaPlayer mp=null;
    Button playerButton;



    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        setVolumeControlStream(AudioManager.STREAM_MUSIC);





        final Button button = (Button) findViewById(R.id.Button01); 
        button.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {  
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song1);                 
                    mp.start();




            }



        });


        final Button button2 = (Button) findViewById(R.id.Button02); 
        button2.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song2);                 
                    mp.start();



            }



        });

        final Button button3 = (Button) findViewById(R.id.Button03); 
        button3.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song3);                 
                    mp.start();



            }



        });


        final Button button4 = (Button) findViewById(R.id.Button04); 
        button4.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song4);                 
                    mp.start();



            }



        });


        final Button button5 = (Button) findViewById(R.id.Button05); 
        button5.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song5);                 
                    mp.start();



            }



        });


        final Button button6 = (Button) findViewById(R.id.Button06); 
        button6.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song6);                 
                    mp.start();



            }



        });


        final Button button7 = (Button) findViewById(R.id.Button07); 
        button7.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song7);                 
                    mp.start();



            }



        });


        final Button button8 = (Button) findViewById(R.id.Button08); 
        button8.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song8);                 
                    mp.start();



            }



        });


        final Button button9 = (Button) findViewById(R.id.Button09); 
        button9.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song9);                 
                    mp.start();



            }



        });


        final Button button10 = (Button) findViewById(R.id.Button10); 
        button10.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song10);                 
                    mp.start();



            }



        });


        final Button button11 = (Button) findViewById(R.id.Button11); 
        button11.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song11);                 
                    mp.start();



            }



        });


        final Button button12 = (Button) findViewById(R.id.Button12); 
        button12.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song12);                 
                    mp.start();



            }



        });


        final Button button13 = (Button) findViewById(R.id.Button13); 
        button13.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song13);                 
                    mp.start();



            }



        });


        final Button button14 = (Button) findViewById(R.id.Button14); 
        button14.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song14);                 
                    mp.start();



            }



        });


        final Button button15 = (Button) findViewById(R.id.Button15); 
        button15.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song15);                 
                    mp.start();



            }



        });


        final Button button16 = (Button) findViewById(R.id.Button16);
        button16.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song16);                 
                    mp.start();



            }



        });


        final Button button17 = (Button) findViewById(R.id.Button17); 
        button17.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song17);                 
                    mp.start();



            }



        });


        final Button button18 = (Button) findViewById(R.id.Button18); 
        button18.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song18);                 
                    mp.start();



            }



        });


        final Button button19 = (Button) findViewById(R.id.Button19); 
        button19.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song19);                 
                    mp.start();



            }



        });


        final Button button20 = (Button) findViewById(R.id.Button20); 
        button20.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song20);                 
                    mp.start();



            }



        });


        final Button button21 = (Button) findViewById(R.id.Button21); 
        button21.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {                 
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song21);                 
                    mp.start();



            }



        });


        final Button stopbutton = (Button) findViewById(R.id.Button22); 
        stopbutton.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {   
                    mp.stop();
                    mp.release(); 



            }



        }); 





    } 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.info, menu);
        return true;
    }

    @Override
    protected void onPause() {
        super.onPause();
        if(mp.isPlaying()){ 
            mp.stop();
        }
    }

    @Override
     public void onDestroy(){
     super.onDestroy();
        mp.release();
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-04 17:54:34

我相信

代码语言:javascript
复制
public void onClick(View v) 
{                 
      MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song21);                 
      mp.start();
}

应该是

代码语言:javascript
复制
public void onClick(View v) 
{                 
       mp = MediaPlayer.create(getBaseContext(),R.raw.song21);                 
       mp.start();
}
票数 2
EN

Stack Overflow用户

发布于 2010-12-04 17:38:42

您发布的代码是错误的,您正在每个单击处理程序中创建本地MediaPlayer对象。改为使用声明为活动成员的对象,然后,当您调用stop方法时,将正确地建立引用。

代码语言:javascript
复制
button.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {  
                    MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.song1);                 
                    mp.start();
            }
        });

应该是:

代码语言:javascript
复制
button.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) {  
                    mp = MediaPlayer.create(getBaseContext(),R.raw.song1);                 
                    mp.start();
            }
        });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4352826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档