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.
我不知道下一步是什么。我想在每次单击“关闭”按钮时停止停止。
答案 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
。