Guest User

Untitled

a guest
May 23rd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. require 'gst'
  2.  
  3. $files = Dir['/home/leon/Workspaces/rmpd/test/samples/gapless/*.wav'].sort
  4.  
  5. def play_next_track
  6. file = "file://#{$files.shift}"
  7. playbin = Gst::ElementFactory.make('playbin2')
  8. playbin.uri = file
  9.  
  10. p "playing #{file}"
  11.  
  12. playbin.bus.add_watch do |bus, message|
  13. case message.type
  14. when Gst::Message::EOS
  15. p "EOS received"
  16. playbin.set_state(Gst::State::NULL)
  17. $loop.quit
  18. play_next_track
  19. else
  20. p message
  21. end
  22. true
  23. end
  24.  
  25. #$loop = GLib::MainLoop.new(nil, true)
  26. $loop = GLib::MainLoop.new(GLib::MainContext.default, true)
  27. begin
  28. playbin.play
  29. $loop.run
  30. ensure
  31. $loop.quit
  32. end
  33. end
  34.  
  35. play_next_track
Add Comment
Please, Sign In to add comment