Android 如何在单击按钮时添加soundeffects

Android 如何在单击按钮时添加soundeffects,android,Android,我有点麻烦,这是我的想法,我已经创建了一个应用程序,一个简单的类似游戏的应用程序。。但是问题是,当我尝试单击标题屏幕中的按钮时,它不会播放单击声音。。谁能帮帮我吗。。这是我的声音代码 public class Effects extends Activity implements MediaPlayer.OnCompletionListener { Button mPlay; MediaPlayer mPlayer; @Override

我有点麻烦,这是我的想法,我已经创建了一个应用程序,一个简单的类似游戏的应用程序。。但是问题是,当我尝试单击标题屏幕中的按钮时,它不会播放单击声音。。谁能帮帮我吗。。这是我的声音代码

    public class Effects extends Activity implements MediaPlayer.OnCompletionListener {

        Button mPlay;
        MediaPlayer mPlayer;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            mPlay = (Button)findViewById(R.id.btnStart);
            mPlay.setOnClickListener(playListener);

            setContentView(R.layout.activity_main);
        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            if(mPlayer != null) {
                mPlayer.release();
            }
        }

        private View.OnClickListener playListener = new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if(mPlayer == null) {
                    try {
                        mPlayer = MediaPlayer.create(Effects.this, R.raw.button11);
                        mPlayer.start();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } else {
                    mPlayer.stop();
                    mPlayer.release();
                    mPlayer = null;
                }
            }
        };
        @Override
        public void onCompletion(MediaPlayer arg0) {
            // TODO Auto-generated method stub

        }
    }    
这是我的主java代码,我希望在单击此按钮时播放声音

public class Main extends Activity implements OnClickListener
{
Button about;
Button Quit;
Button start;
protected void onCreate(Bundle onSavedInstanceState) {
    super.onCreate(onSavedInstanceState);
    setContentView(R.layout.activity_main);
    about = (Button)findViewById(R.id.btnAbout);
    about.setOnClickListener(this);
    Quit = (Button)findViewById(R.id.btnQuit);
    Quit.setOnClickListener(this);
    start = (Button)findViewById(R.id.btnStart);
    start.setOnClickListener(this);

}
public void onClick(View argo)
{
    if(argo.getId()==R.id.btnAbout)
    {
        Intent i = new Intent(this,About.class);
        this.startActivity(i);
    }
    if(argo.getId()==R.id.btnQuit)
    {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }
    if(argo.getId()==R.id.btnStart)
    {
        Intent start = new Intent(this,Howto.class);
        this.startActivity(start);
        Intent svc=new Intent(this,Effects.class);
        startService(svc);
    }
    }
}

使用
SoundPool
播放声音:您应该在
onCreate()
中初始化声音,然后在
onClick()

如果(argo.getId()==R.id.btnQuit)(你至少应该使用
else
)熟悉
switch/case
语法,而不是做成千上万的毫无意义的
if(argo.getId()==R.id.btnQuit)