Class: Mplayer
Constant Summary collapse
- WAIT_LIMIT =
3
Instance Method Summary collapse
- #command ⇒ Object
-
#initialize(url) ⇒ Mplayer
constructor
A new instance of Mplayer.
- #options ⇒ Object
- #play ⇒ Object
- #rec(file, sec, quiet = true) ⇒ Object
- #to_s ⇒ Object
Methods inherited from Player
Constructor Details
#initialize(url) ⇒ Mplayer
Returns a new instance of Mplayer.
10 11 12 13 14 15 |
# File 'lib/player/mplayer.rb', line 10 def initialize(url) @url=url self['cache'] = 64 self['cache-min'] = 16 self['quiet'] = '' # 画面表示をしない end |
Instance Method Details
#command ⇒ Object
18 19 20 |
# File 'lib/player/mplayer.rb', line 18 def command 'mplayer' end |
#options ⇒ Object
22 23 24 |
# File 'lib/player/mplayer.rb', line 22 def map{ |k,v| "-#{k} #{v}"}*' ' end |
#play ⇒ Object
32 33 34 35 |
# File 'lib/player/mplayer.rb', line 32 def play puts to_s `#{to_s}` end |
#rec(file, sec, quiet = true) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/player/mplayer.rb', line 38 def rec(file, sec, quiet = true) self['dumpstream'] = '' self['dumpfile'] = %Q("#{file}") if quiet self['nosound'] = '' # 音声を再生しない end puts "rec (#{sec}s): #{to_s}" stdin, stdout, stderr, wait_thread = Open3.popen3(to_s) dsec = -1 psec = dsec wait = 0 i = 0 while dsec <= sec dsec = duration(file) if dsec == psec wait += 1 break if wait > WAIT_LIMIT else wait = 0 psec = dsec end p [i, dsec, psec, wait] if wait > 0 i += 1 sleep 1 end stdin.write 'q' end |
#to_s ⇒ Object
27 28 29 |
# File 'lib/player/mplayer.rb', line 27 def to_s %Q(#{command} #{@url} #{options} ) end |