单击OFF按钮时如何停止声音

时间:2013-01-12 12:55:53

标签: android eclipse

package net.androidbootcamp.guessinggame;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class setting extends Activity {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);

Button s =(Button) findViewById(R.id.btnons);
s.setOnClickListener(new OnClickListener(){

public void onClick(View v) {


MediaPlayer mp = MediaPlayer.create(setting.this,R.raw.meow);
mp.start();





                }

    });

Button ss =(Button) findViewById(R.id.btnoffs);
ss.setOnClickListener(new OnClickListener(){

如何编码关闭按钮。这是我的ON按钮代码。当我点击另一个按钮(关闭)时,我不知道如何停止声音。

 I have two buttons, the ON and OFF button,a normal game settings of sound.

我不知道下一步是什么。我想在每次单击“关闭”按钮时停止停止。

1 个答案:

答案 0 :(得分:0)

这可能足以处理代码中的MediaPlayer

package net.androidbootcamp.guessinggame;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class setting extends Activity {
    private MediaPlayer mediaPlayer;

    @Override
    public void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);

        Button s =(Button) findViewById(R.id.btnons);
        s.setOnClickListener(
            new OnClickListener(){
                @Override
                public void onClick(View v) {
                    startMediaPlayer();
                }
            }
        );

        Button ss =(Button) findViewById(R.id.btnoffs);
        ss.setOnClickListener(
            new OnClickListener(){ 
                @Override
                public void onClick(View v) {
                    stopMediaPlayer();
                }
            }
        );
    }

     private void startMediaPlayer() {
        mediaPlayer = MediaPlayer.create(setting.this,R.raw.meow);
        mediaPlayer.start();
    }

    private void stopMediaPlayer() {
        if( mediaPlayer != null ) {
            mp.stop();
            mp.release();
        }
    }
}

对代码的更改: mp现在是班级setting的成员,名为mediaPlayer。以前,您很难尝试在“关闭按钮”的mp范围内处理OnClickListener,但现在已经解决了。还使用空检查将stopMediaPlayer()中的代码包装起来以避免NullPointerException