Android游戏,播放“ Game Over”声音效果

时间:2019-07-17 13:05:59

标签: java android game-development soundpool

我正在编写一个简单的Android游戏。在游戏结束(无论输赢)之后,在可以开始新游戏之前,我都无法播放简单的“游戏完成”音效。

我的源代码是:

soundPool.play(complete, 1,1, 0, 0, 1);
soundPool.autoPause();

如果我不使用autoPause(),背景音乐将继续循环播放,并且我不希望在“游戏结束”屏幕中播放背景音乐。到目前为止,“完成”声音无法正常播放。

任何想法或帮助等,将不胜感激。

1 个答案:

答案 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);