[英]How to pause/stop music when home or back button is pressed?
這是我的代碼。 我對Java非常陌生,我知道這個問題已經發布了,但是我仍然沒有得到預期的前哨,所以我不得不發布。
public class MainActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final MediaPlayer policeSound = MediaPlayer.create(this, R.raw.police);
Button policeSounds = (Button) this.findViewById(R.id.police);
policeSounds.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (policeSound.isPlaying()){
policeSound.stop();
}
else {
policeSound.start();
}
}
});
}
}
我嘗試在此方法上添加onBackPressed()
代碼,但無法檢測到“ policeSound”,因為在以前的方法中已檢測到它!
還有人甚至@Override
我如何使用@Override
注釋!
要檢測其他方法中的“ policeSound”,您需要使其成為類的字段:
private MediaPlayer policeSound;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
policeSound = MediaPlayer.create(this, R.raw.police);
Button policeSounds = (Button) this.findViewById(R.id.police);
policeSounds.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
if (policeSound.isPlaying()) {
policeSound.stop();
} else {
policeSound.start();
}
}
}
);
}
在您的代碼中, PoliceSound是一個局部變量,僅在Oncreate()
方法中可見,如Oleh Sokolov所說,您應將PoliceSound聲明為類的字段。
關於@Override
,您可以看到這個很好的解釋
在android studio中,當您在Java類文件中按ctrl + o
時,您可以覆蓋超類方法,IDE會自動為您添加@Override
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.