Class: TerminalGameEngine::Sound

Inherits:
Object
  • Object
show all
Defined in:
lib/terminal_game_engine/sound.rb

Class Method Summary collapse

Class Method Details

.play(path, logger: Logger.new('/dev/null')) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 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