0

目前,当我的游戏中使用 andEngine 和 Box2D 的任何对象与墙壁接触时,我的代码会播放声音,我遇到的问题是,当与任何对象接触时,它会再次开始,我明白为什么会发生这种情况。如果可能的话,我想做的是继续播放声音,同时也播放它以进行另一次碰撞。我想我可能需要使用线程,但我不确定如何在 java for android 中执行此操作。

@Override
public void beginContact(Contact contact)
{
    Rattle.this.mExplosionSound.play();
}

更新:我似乎无法解决这个问题,但我知道我需要做的是同时多次播放这个声音,我尝试过线程和 soundPool 但都没有运气,但仍然不确定要做什么做。

4

2 回答 2

1

看来您只有一个声音实例。然后你两次调用相同的声音播放,因此它停止播放并从头开始。

想象一下拥有一台 CD 播放器 - 您按下播放键,音乐开始播放。您再次按下播放键,播放器将从头开始阅读曲目。您需要的是两个播放器,因此您可能需要两个相同声音的实例。

(我对Android上的声音没有太多经验,所以我可能是错的,请谨慎接受建议。)

于 2012-07-24T14:01:28.220 回答
-1

即使我前段时间正在开发游戏,我也发现了类似的问题。您应该使用 SoundPool 播放短促的声音,例如碰撞和碰撞。这里有一些很好的链接对我有帮助。链接1链接2

于 2012-07-13T10:13:14.643 回答