Class: Diarize::AudioPlayer

Inherits:
Object
  • Object
show all
Defined in:
lib/diarize/audio_player.rb

Instance Method Summary collapse

Instance Method Details

#play(file, start = 0.0, duration = 10.0) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/diarize/audio_player.rb', line 23

def play(file, start=0.0, duration=10.0)
  java_file = java.io.File.new(file.path)
  stream = javax.sound.sampled.AudioSystem.getAudioInputStream(java_file)
  clip = javax.sound.sampled.AudioSystem.clip
  clip.open(stream)
  clip.setMicrosecondPosition(start * 1000000)
  clip.start
  begin
    sleep(duration)
  rescue Exception
    $stderr.puts 'Stopping playback'
  end
  clip.stop
  clip.close
  stream.close
end