我正在尝试在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会出现什么问题。
答案 0 :(得分:0)
目前使用Gosu是不可能的,Song#play
在没有窗口的情况下无效。由于Gosu不使用后台线程播放音频,因此需要定期调用内部Song::update()
方法以保持歌曲播放。 Gosu::Window#show
does this once per tick。没有办法直接从Ruby调用此方法。唯一的解决方法是在播放音频时显示一个小窗口。
我已经打开a GitHub issue因为这应该记录或修复。