class ActiveVlc::LibVlc::MediaPlayer

Attributes

media[R]
ptr[R]

Public Class Methods

new(vlc_or_media) click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 15
def initialize(vlc_or_media)
  @media = nil
  if vlc_or_media.is_a?(Media)
    @media = vlc_or_media
    @ptr = Api.libvlc_media_player_new_from_media(vlc_or_media.ptr)
  else
    @ptr = Api.libvlc_media_player_new(vlc_or_media.ptr)
  end
end

Public Instance Methods

event_manager() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 25
def event_manager
  event_manger = Api.libvlc_media_player_event_manager(@ptr)
  raise "Unable to get EventManager for MediaPlayer #{@ptr.inspect}" unless event_manger
  EventManager.new event_manger
end
media=(new_media) click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 31
def media=(new_media)
  raise "You must provide a valid Media" unless new_media and new_media.is_a?(Media)
  @media = new_media
  Api.libvlc_media_player_set_media(@ptr, @media.ptr)
end
pause() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 43
def pause
  if_media { Api.libvlc_media_player_pause @ptr}
end
play() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 37
def play
  if_media { Api.libvlc_media_player_play @ptr }
end
playing?() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 47
def playing?
  Api.libvlc_media_player_is_playing @ptr
end
state() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 51
def state
  Api.libvlc_media_player_get_state @ptr
end
stop() click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 40
def stop
  if_media { Api.libvlc_media_player_stop @ptr }
end

Protected Instance Methods

if_media() { || ... } click to toggle source
# File lib/activevlc/libvlc/media_player.rb, line 56
def if_media
  if block_given?
    raise "MediaPlayer: No media set" unless @media
    yield
  end
end