class MediaPlayer::ProcessManager
execute, stop, pause, resume
Attributes
current_process_id[RW]
Public Instance Methods
build_process(media_file)
click to toggle source
# File lib/process_manager.rb, line 6 def build_process(media_file) Process.spawn("play #{media_file}") end
execute(media_file)
click to toggle source
# File lib/process_manager.rb, line 10 def execute(media_file) @current_process_id = build_process(media_file) end
is_current_process_alive?()
click to toggle source
# File lib/process_manager.rb, line 30 def is_current_process_alive? begin Process.getpgid(@current_process_id) true rescue Errno::ESRCH false rescue false end end
pause()
click to toggle source
# File lib/process_manager.rb, line 14 def pause Process.kill(:STOP, @current_process_id) end
resume()
click to toggle source
# File lib/process_manager.rb, line 18 def resume Process.kill(:CONT, @current_process_id) end
stop()
click to toggle source
# File lib/process_manager.rb, line 22 def stop begin Process.kill(:INT, @current_process_id) Process.waitpid(@current_process_id) rescue end end