我有几个音频文件在应用程序中播放一两分钟,类似于音板。当有人点击按钮时,它会播放声音。很简单。我在SharedPreference中有一个设置,询问用户当他们退出或暂停应用程序时,他们是否想要保持声音播放。那就是我被困住的地方。
截至目前,当用户将其设置为“继续播放”时,应用程序会冻结,您必须强制手动退出。这就是我所拥有的:
@Override
protected void onPause() {
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean settingContinueMusic = getPrefs.getBoolean("continueMusic", false);
if(settingContinueMusic == false){
super.onPause();
if(audio1.isPlaying()) { audio1.pause(); }
if(audio2.isPlaying()) { audio2.pause(); }
if(audio3.isPlaying()) { audio3.pause(); }
}
}
答案 0 :(得分:0)
我认为问题正在发生,因为你已将super.onPause();
置于if条件中。只有在用户决定暂停音频时才会执行它。将它移出if,看它是否有效。
@Override
protected void onPause() {
super.onPause();
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean settingContinueMusic = getPrefs.getBoolean("continueMusic", false);
if(settingContinueMusic == false){
if(audio1.isPlaying()) { audio1.pause(); }
if(audio2.isPlaying()) { audio2.pause(); }
if(audio3.isPlaying()) { audio3.pause(); }
}
}