class TerminalGameEngine::Sound

Public Class Methods

play(path, logger: Logger.new('/dev/null')) click to toggle source
# File lib/terminal_game_engine/sound.rb, line 5
def self.play(path, logger: Logger.new('/dev/null'))
  case RUBY_PLATFORM
  when /darwin/
    stdin, stdout, stderr, wait_thr = Open3.popen3('afplay', path)
  when /linux/
    stdin, stdout, stderr, wait_thr = Open3.popen3('command -v mplayer >/dev/null 2>&1 && mplayer -msglevel all=-1 -nolirc', path)
  end

  Thread.new do
    while line = stderr.readline
      logger.error line.chomp
    end
  end
end