android - 发生碰撞时如何停止声音重新启动

标签 android andengine audio soundpool

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

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

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

最佳答案

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

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

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

关于android - 发生碰撞时如何停止声音重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468331/

相关文章:

java - Android Toast 消息不工作

javascript - 第7个div后代码中断

android - 与 auth.extendSSOAccessToken 相关的 Facebook 错误

android - 为什么范围级别为 "user"的自定义维度没有显示在我的报告中?

Android 没有从值文件夹中选择正确的 dimens.xml 文件

php - 实时合并 MP3 时的 ID3 标签,使用 PHP 和 HTTP 部分内容

html - MIDI 支持 HTML5 音频标签?

android - 使用自定义 xml View 在 Android 中创建一个 AlertDialog

android - 如何在 AndEngine 中移除碰撞的 box2d 物体?

android - Andengine中的动画背景