按钮声音不工作

Button Sound not Working

我有 btnSound 它运行良好,除了当我从一个屏幕移动到另一个屏幕时,就像当我点击播放按钮从菜单屏幕移动到播放屏幕时

我有这个:

playButton.addListener(new ClickListener() {
    @Override
    public void clicked(InputEvent event, float x, float y) {
        btnSound.play();
        gameMain.setScreen(new PlayScreen(gameMain);
    }
});

有什么解决办法吗?

代码不多,只能靠猜了。 btnSnd 是让我们说 - MenuScreen 的一部分,当您调用 gameMain.setScreen() 方法时,MenuScreen 正在处理(寻找 dispose() 方法)以释放内存(和 btnSnd,因为它是它的一部分) 我的建议 - 在 PlayScreen 的构造函数而不是按钮的 Listener 中启动声音。

顺便说一下,开始使用更好的名称 - buttonSound 而不是 btnSnd,这样可以使代码更易于阅读。

切换屏幕时的声音处理。 你可以

  • 添加 touchUp 监听器方法来更改屏幕,但声音仍然与当前相同。因此,当您单击按钮时,声音会播放,但当您触摸时屏幕会发生变化。
  • 在下一屏幕播放声音。

  • 防止在切换屏幕时处理声音。