我正在尝试在Windows上的Ruby(Ver 2.2.6)中编写一个简单的游戏。我安装了gosu宝石来处理音频,并且我有一个我想播放的配乐文件:
@soundtrack = Gosu::Song.new("theme.ogg")
我无法使用样品,因为我需要暂停。
def play_soundtrack
@soundtrack.play(looping = true)
end
def pause_soundtrack
print "Paused "
@soundtrack.pause
end
运行此功能仅播放主题的第一个音符,然后不会播放声音。gosu ::样本仍然可以正常工作,所以我不确定使用Gosu :: Song。
这是GOSU现在无法使用的,如果没有窗口,Song#play
就无法正常工作。由于GOSU不使用背景线程播放音频,因此有一种内部Song::update()
方法需要定期调用以保持歌曲播放。 Gosu::Window#show
每滴一滴一个。无法直接从Ruby调用此方法。唯一的解决方法是在播放音频时显示一个很小的窗口。
我已经打开了一个GitHub问题,因为应该记录或修复。