Package uk.co.caprica.vlcj.player.list
Class DefaultMediaListPlayer
- java.lang.Object
-
- uk.co.caprica.vlcj.player.AbstractMediaPlayer
-
- uk.co.caprica.vlcj.player.list.DefaultMediaListPlayer
-
- All Implemented Interfaces:
MediaListPlayer
public class DefaultMediaListPlayer extends AbstractMediaPlayer implements MediaListPlayer
Implementation of a media list player.
-
-
Constructor Summary
Constructors Constructor Description DefaultMediaListPlayer(LibVlc libvlc, libvlc_instance_t instance)
Create a new media list player.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMediaListPlayerEventListener(MediaListPlayerEventListener listener)
Add a component to be notified of media list player events.String
currentMrl()
Get the current MRL.void
enableEvents(long eventMask)
Restrict the set of media list player events that generate event notifications to listeners.MediaList
getMediaList()
Get the media list.libvlc_state_t
getMediaListPlayerState()
Get the media list player state.libvlc_media_player_t
getMediaPlayerInstance()
Get the native media player instance associated with this media list player.boolean
isPlaying()
Determine whether or not the media list is playing.String
mrl(libvlc_media_t mediaInstance)
Get the media resource locator for a media instance.void
pause()
Pause the media list.void
play()
Play the media list.boolean
playItem(int itemIndex)
Play a particular item on the media list.void
playNext()
Play the next item in the media list.void
playPrevious()
Play the previous item in the media list.void
release()
Release the media list player resources.void
removeMediaListPlayerEventListener(MediaListPlayerEventListener listener)
Remove a component that was previously interested in notifications of media list player events.void
setMediaList(MediaList mediaList)
Set the media list (i.e.void
setMediaPlayer(MediaPlayer mediaPlayer)
Associate an actual media player with the media list player.void
setMode(MediaListPlayerMode mode)
Set the media list play mode.void
stop()
Stop the media list.Object
userData()
Get the user data associated with the media player.void
userData(Object userData)
Set user data to associate with the media player.
-
-
-
Constructor Detail
-
DefaultMediaListPlayer
public DefaultMediaListPlayer(LibVlc libvlc, libvlc_instance_t instance)
Create a new media list player.- Parameters:
libvlc
- native library interfaceinstance
- libvlc instance
-
-
Method Detail
-
addMediaListPlayerEventListener
public void addMediaListPlayerEventListener(MediaListPlayerEventListener listener)
Description copied from interface:MediaListPlayer
Add a component to be notified of media list player events.- Specified by:
addMediaListPlayerEventListener
in interfaceMediaListPlayer
- Parameters:
listener
- component to notify
-
removeMediaListPlayerEventListener
public void removeMediaListPlayerEventListener(MediaListPlayerEventListener listener)
Description copied from interface:MediaListPlayer
Remove a component that was previously interested in notifications of media list player events.- Specified by:
removeMediaListPlayerEventListener
in interfaceMediaListPlayer
- Parameters:
listener
- component to stop notifying
-
enableEvents
public void enableEvents(long eventMask)
Description copied from interface:MediaListPlayer
Restrict the set of media list player events that generate event notifications to listeners.If a set of events is not explicitly enabled, then it is expected that all events be enabled.
- Specified by:
enableEvents
in interfaceMediaListPlayer
- Parameters:
eventMask
- bit mask of events to enable
-
setMediaPlayer
public void setMediaPlayer(MediaPlayer mediaPlayer)
Description copied from interface:MediaListPlayer
Associate an actual media player with the media list player.- Specified by:
setMediaPlayer
in interfaceMediaListPlayer
- Parameters:
mediaPlayer
- media player
-
setMediaList
public void setMediaList(MediaList mediaList)
Description copied from interface:MediaListPlayer
Set the media list (i.e. the "play" list).- Specified by:
setMediaList
in interfaceMediaListPlayer
- Parameters:
mediaList
- media list
-
getMediaList
public MediaList getMediaList()
Description copied from interface:MediaListPlayer
Get the media list.- Specified by:
getMediaList
in interfaceMediaListPlayer
- Returns:
- media list
-
play
public void play()
Description copied from interface:MediaListPlayer
Play the media list.- Specified by:
play
in interfaceMediaListPlayer
-
pause
public void pause()
Description copied from interface:MediaListPlayer
Pause the media list.- Specified by:
pause
in interfaceMediaListPlayer
-
stop
public void stop()
Description copied from interface:MediaListPlayer
Stop the media list.- Specified by:
stop
in interfaceMediaListPlayer
-
playItem
public boolean playItem(int itemIndex)
Description copied from interface:MediaListPlayer
Play a particular item on the media list.There is a bug in vlc that prevents proper operation of this method, and may cause a fatal JVM failure. This is resolved in vlc 2.0.2 and later.
- Specified by:
playItem
in interfaceMediaListPlayer
- Parameters:
itemIndex
- index of the item to play- Returns:
true
if the item could be played, otherwisefalse
-
playNext
public void playNext()
Description copied from interface:MediaListPlayer
Play the next item in the media list.- Specified by:
playNext
in interfaceMediaListPlayer
-
playPrevious
public void playPrevious()
Description copied from interface:MediaListPlayer
Play the previous item in the media list.- Specified by:
playPrevious
in interfaceMediaListPlayer
-
isPlaying
public boolean isPlaying()
Description copied from interface:MediaListPlayer
Determine whether or not the media list is playing.- Specified by:
isPlaying
in interfaceMediaListPlayer
- Returns:
true
if playing, otherwisefalse
-
getMediaListPlayerState
public libvlc_state_t getMediaListPlayerState()
Description copied from interface:MediaListPlayer
Get the media list player state.- Specified by:
getMediaListPlayerState
in interfaceMediaListPlayer
- Returns:
- state
-
setMode
public void setMode(MediaListPlayerMode mode)
Description copied from interface:MediaListPlayer
Set the media list play mode.Note that if you set the play mode to REPEAT before you have played any media then play-back will never start.
- Specified by:
setMode
in interfaceMediaListPlayer
- Parameters:
mode
- mode
-
mrl
public String mrl(libvlc_media_t mediaInstance)
Description copied from interface:MediaListPlayer
Get the media resource locator for a media instance.The native media instance may be an automatically/scripted added sub-item.
- Specified by:
mrl
in interfaceMediaListPlayer
- Parameters:
mediaInstance
- native media instance- Returns:
- URL-encoded media resource locator
-
userData
public Object userData()
Description copied from interface:MediaListPlayer
Get the user data associated with the media player.- Specified by:
userData
in interfaceMediaListPlayer
- Returns:
- user data
-
userData
public void userData(Object userData)
Description copied from interface:MediaListPlayer
Set user data to associate with the media player.- Specified by:
userData
in interfaceMediaListPlayer
- Parameters:
userData
- user data
-
currentMrl
public final String currentMrl()
Description copied from interface:MediaListPlayer
Get the current MRL.- Specified by:
currentMrl
in interfaceMediaListPlayer
- Returns:
- MRL of the current item, or
null
-
getMediaPlayerInstance
public libvlc_media_player_t getMediaPlayerInstance()
Description copied from interface:MediaListPlayer
Get the native media player instance associated with this media list player.The returned media player instance must be released when it is no longer needed, see
LibVlc.libvlc_media_player_release(libvlc_media_player_t)
.Requires LibVLC 3.0.0 or later.
- Specified by:
getMediaPlayerInstance
in interfaceMediaListPlayer
- Returns:
- handle to the native media player
-
release
public final void release()
Description copied from interface:MediaListPlayer
Release the media list player resources.- Specified by:
release
in interfaceMediaListPlayer
-
-