我正在编写一个简单的Android游戏。在游戏结束(无论输赢)之后,在可以开始新游戏之前,我都无法播放简单的“游戏完成”音效。
我的源代码是:
soundPool.play(complete, 1,1, 0, 0, 1);
soundPool.autoPause();
如果我不使用autoPause()
,背景音乐将继续循环播放,并且我不希望在“游戏结束”屏幕中播放背景音乐。到目前为止,“完成”声音无法正常播放。
任何想法或帮助等,将不胜感激。
答案 0 :(得分:1)
您需要停止背景音乐,并摆脱自动暂停功能。
假设您这样启动背景音乐循环:
public class LazyLoggerDataModel extends LazyDataModel<Logger> {
private List<Logger> loggerList;
public LazyLoggerDataModel(List<Logger> loggerList) {
this.loggerList = loggerList;
}
@Override
public Logger getRowData(String rowKey) {
....
}
@Override
public Object getRowKey(Logger logger) {
return ...;
}
@Override
public List<Logger> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
... put here the main logic..
}
}
然后您将使用
停止它int bg_music_loop = soundPool.play(BACKGROUND_MUSIC_ID, volume, volume, 1, 0, 1f);
然后您可以开始游戏结束音:
soudPool.stop(bg_music_loop);