安卓游戏,播放“Game Over”音效

Posted

技术标签:

【中文标题】安卓游戏,播放“Game Over”音效【英文标题】:Android game, playing "Game Over" sound FX 【发布时间】:2019-07-17 13:05:59 【问题描述】:

我正在编写一个简单的 android 游戏。我无法播放简单的“游戏完成”音效,游戏一结束(无论是赢还是输),然后才能开始新游戏。

我的源代码是:

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

如果我不使用autoPause(),背景音乐会继续循环播放,我不想在“游戏结束”屏幕中出现这种情况。就像现在一样,“完整”的声音无法正常播放。

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

【问题讨论】:

【参考方案1】:

您需要停止背景音乐,并摆脱自动暂停。

假设您像这样开始背景音乐循环:

int bg_music_loop = soundPool.play(BACKGROUND_MUSIC_ID, volume, volume, 1, 0, 1f);

然后你会用

停止它
soudPool.stop(bg_music_loop);

然后你就可以开始你的游戏结束声音了:

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

【讨论】:

谢谢,但由于某种原因,它不能正常工作,虽然游戏编译没有错误。我试了几次,但要么“完整”的声音以一种奇怪的方式播放,要么“bg_music_loop”没有停止。 你是什么意思“以一种奇怪的方式玩”? 您可以尝试.stop(background_id) - 如果没有帮助:将 maxStreams 设置为 1。 它现在与 maxStreams 一起工作,不再是默认的 10,而是所需的声音数量,在我的例子中是 4。所以再次感谢。 是的,SoundPool 只能处理当前在池中的声音(例如播放)。如果你在游戏结束模式下没有碰撞,那么你不应该打电话给play()。像if(!gameOver) soundPool.play(COLLISION.....) 这样的东西。游戏结束后,只需将名为 gameOver 的变量设置为 false。

以上是关于安卓游戏,播放“Game Over”音效的主要内容,如果未能解决你的问题,请参考以下文章

安卓多媒体(视频录制播放音效播放)

基于android安卓坦克大战游戏毕业论文.doc

Android两款安卓PJ游戏市场

Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效

Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效

Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效