文件包含未知格式的数据(运行时错误)

时间:2012-01-30 19:58:47

标签: ruby

我正在尝试构建并运行团队成员为类项目编写的ruby代码。

这是我得到的错误:

PS C:\users\bryan\Team6\PlanetDefense> ruby main.rb
C:/Ruby192/lib/ruby/gems/1.9.1/gems/gosu-0.7.41-x86-mingw32/lib/gosu/patches.rb:36:in
'initialize': File contains data in an unknown format. (RuntimeError)
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/gosu-0.7.41-x86-mingw32/lib/gosu/patches.rb:36:in `initialize'
    from C:/users/bryan/Team6/PlanetDefense/classes/playstate.rb:9:in `new'
    from C:/users/bryan/Team6/PlanetDefense/classes/playstate.rb:9:in `initialize'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/chingu-0.8.1/lib/chingu/game_state_manager.rb:300:in `new'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/chingu-0.8.1/lib/chingu/game_state_manager.rb:300:in `game_state_instance'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/chingu-0.8.1/lib/chingu/game_state_manager.rb:148:in `push_game_state'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/chingu-0.8.1/lib/chingu/helpers/game_state.rb:37:in `push_game_state'
    from main.rb:22:in `initialize'
    from main.rb:56:in `new'
    from main.rb:56:in `<main>'`

这似乎是违规代码:

class Gosu::Song
  alias initialize_ initialize

  def initialize(*args)
    args.shift if args.first.is_a? Gosu::Window
    initialize_(*args)
  end
end

关于“未知格式的数据”是什么的任何想法?我用谷歌搜索,不能拿出任何东西?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

我发现“未知格式的数据”与gosu试图播放的mp3文件有关。注释掉与此相关的代码可以解决错误。

现在最好不要在gosu中使用.mp3s,.wav是更好的选择

答案 1 :(得分:0)

请参阅here了解为什么这在Windows中不起作用,但在Mac上起作用。 而不是MP3使用OGG格式。