Gosu :: Ruby中的歌曲只播放第一个音符

时间:2017-03-02 20:53:10

标签: ruby libgosu

我正在尝试在Windows上用Ruby编写一个简单的游戏(版本2.2.6)。我安装了Gosu gem来处理音频,我有一个我想要播放的音轨文件:

@soundtrack = Gosu::Song.new("theme.ogg")

我无法使用Sample,因为我需要能够暂停。

 def play_soundtrack
    @soundtrack.play(looping = true)
  end

  def pause_soundtrack
    print "Paused "
    @soundtrack.pause
  end

运行此功能只播放主题的第一个音符,然后不会播放声音。 Gosu :: Sample仍然可以正常工作,所以我不确定使用Gosu :: Song会出现什么问题。

1 个答案:

答案 0 :(得分:0)

目前使用Gosu是不可能的,Song#play在没有窗口的情况下无效。由于Gosu不使用后台线程播放音频,因此需要定期调用内部Song::update()方法以保持歌曲播放。 Gosu::Window#show does this once per tick。没有办法直接从Ruby调用此方法。唯一的解决方法是在播放音频时显示一个小窗口。

我已经打开a GitHub issue因为这应该记录或修复。