Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'gst'
- $files = Dir['/home/leon/Workspaces/rmpd/test/samples/gapless/*.wav'].sort
- def play_next_track
- file = "file://#{$files.shift}"
- playbin = Gst::ElementFactory.make('playbin2')
- playbin.uri = file
- p "playing #{file}"
- playbin.bus.add_watch do |bus, message|
- case message.type
- when Gst::Message::EOS
- p "EOS received"
- playbin.set_state(Gst::State::NULL)
- $loop.quit
- play_next_track
- else
- p message
- end
- true
- end
- #$loop = GLib::MainLoop.new(nil, true)
- $loop = GLib::MainLoop.new(GLib::MainContext.default, true)
- begin
- playbin.play
- $loop.run
- ensure
- $loop.quit
- end
- end
- play_next_track
Add Comment
Please, Sign In to add comment