Class EmbeddedMediaPlayerComponent
- All Implemented Interfaces:
KeyListener,MouseListener,MouseMotionListener,MouseWheelListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,MediaEventListener,MediaPlayerEventListener,MediaPlayerComponent
- Direct Known Subclasses:
EmbeddedMediaListPlayerComponent
The component may be added directly to a user interface layout.
When the component is no longer needed, it should be released by invoking the release() method.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionConstruct an embedded media player component with reasonable defaults.EmbeddedMediaPlayerComponent(String... libvlcArgs) Construct an embedded media player component with LibVLC initialisation arguments and reasonable defaults.EmbeddedMediaPlayerComponent(MediaPlayerFactory mediaPlayerFactory, Component videoSurfaceComponent, FullScreenStrategy fullScreenStrategy, InputEvents inputEvents, Window overlay) Construct an embedded media player component.Construct an embedded media player component from a builder. -
Method Summary
Modifier and TypeMethodDescriptionvoidaudioDeviceChanged(MediaPlayer mediaPlayer, String audioDevice) The audio device changed.voidbackward(MediaPlayer mediaPlayer) Media skipped backward.voidbuffering(MediaPlayer mediaPlayer, float newCache) Buffering media.voidchapterChanged(MediaPlayer mediaPlayer, int newChapter) The chapter changed.voidcorked(MediaPlayer mediaPlayer, boolean corked) The media player was corked/un-corked.voidelementaryStreamAdded(MediaPlayer mediaPlayer, TrackType type, int id) An elementary stream was added.voidelementaryStreamDeleted(MediaPlayer mediaPlayer, TrackType type, int id) An elementary stream was deleted.voidelementaryStreamSelected(MediaPlayer mediaPlayer, TrackType type, int id) An elementary stream was selected.voiderror(MediaPlayer mediaPlayer) An error occurred.voidfinished(MediaPlayer mediaPlayer) Media finished playing (i.e.voidforward(MediaPlayer mediaPlayer) Media skipped forward.voidvoidvoidvoidlengthChanged(MediaPlayer mediaPlayer, long newLength) Media length changed.voidmediaChanged(MediaPlayer mediaPlayer, MediaRef media) The media changed.voidmediaDurationChanged(Media media, long newDuration) The current media duration changed.voidmediaFreed(Media media, MediaRef mediaFreed) The current media was freed.voidmediaMetaChanged(Media media, Meta metaType) Current media meta data changed.voidmediaParsedChanged(Media media, MediaParsedStatus newStatus) The current media parsed status changed.final EmbeddedMediaPlayerGet the embedded media player reference.final MediaPlayerFactoryGet the media player factory that was used to create the media player component.voidmediaPlayerReady(MediaPlayer mediaPlayer) Media player is ready (to enable features like logo and marquee) after the media has started playing.voidmediaStateChanged(Media media, State newState) The current media state changed.voidmediaSubItemAdded(Media media, MediaRef newChild) A new sub-item was added to the current media.voidmediaSubItemTreeAdded(Media media, MediaRef item) A sub-item tree was added to the media.voidmediaThumbnailGenerated(Media media, Picture picture) voidvoidvoidvoidvoidvoidvoidvoidvoidmuted(MediaPlayer mediaPlayer, boolean muted) The audio was muted/un-muted.voidopening(MediaPlayer mediaPlayer) Opening the media.voidpausableChanged(MediaPlayer mediaPlayer, int newSeekable) Media pausable status changed.voidpaused(MediaPlayer mediaPlayer) Media paused.voidplaying(MediaPlayer mediaPlayer) The media started playing.voidpositionChanged(MediaPlayer mediaPlayer, float newPosition) Media play-back position changed.final voidrelease()Release the media player component and the associated native media player resources.voidscrambledChanged(MediaPlayer mediaPlayer, int newScrambled) Program scrambled changed.voidseekableChanged(MediaPlayer mediaPlayer, int newSeekable) Media seekable status changed.final voidsetCursorEnabled(boolean enabled) Enable or disable the mouse cursor when it is over the component.voidsnapshotTaken(MediaPlayer mediaPlayer, String filename) A snapshot was taken.voidstopped(MediaPlayer mediaPlayer) Media stopped.voidtimeChanged(MediaPlayer mediaPlayer, long newTime) Media play-back time changed.voidtitleChanged(MediaPlayer mediaPlayer, int newTitle) Media title changed.voidvideoOutput(MediaPlayer mediaPlayer, int newCount) The number of video outputs changed.final ComponentGet the video surfaceCanvascomponent.voidvolumeChanged(MediaPlayer mediaPlayer, float volume) The volume changed.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validateMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
EmbeddedMediaPlayerComponent
public EmbeddedMediaPlayerComponent(MediaPlayerFactory mediaPlayerFactory, Component videoSurfaceComponent, FullScreenStrategy fullScreenStrategy, InputEvents inputEvents, Window overlay) Construct an embedded media player component.Any constructor parameter may be
null, in which case a reasonable default will be used.- Parameters:
mediaPlayerFactory- media player factoryvideoSurfaceComponent- heavyweight video surface component, will become part of this components UI layoutfullScreenStrategy- full screen strategyinputEvents- keyboard/mouse input event configurationoverlay- heavyweight overlay
-
EmbeddedMediaPlayerComponent
Construct an embedded media player component from a builder.- Parameters:
spec- builder
-
EmbeddedMediaPlayerComponent
Construct an embedded media player component with LibVLC initialisation arguments and reasonable defaults.- Parameters:
libvlcArgs- LibVLC initialisation arguments
-
EmbeddedMediaPlayerComponent
public EmbeddedMediaPlayerComponent()Construct an embedded media player component with reasonable defaults.
-
-
Method Details
-
mediaPlayer
Get the embedded media player reference.An application uses this handle to control the media player, add listeners and so on.
- Returns:
- media player
-
videoSurfaceComponent
Get the video surfaceCanvascomponent.An application may want to add key/mouse listeners to the video surface component.
- Returns:
- video surface component
-
release
public final void release()Release the media player component and the associated native media player resources. -
mediaPlayerFactory
Description copied from interface:MediaPlayerComponentGet the media player factory that was used to create the media player component.If the client application did not suppl a media player factory when creating the component, then the component is the "owner" of the returned factory instance. A client application must not releasse the factory in this case.
If a client application did supply the factory, then the client application is wholly responsible for the correct life-cycle of that factory and should release it at the appropriate time.
- Specified by:
mediaPlayerFactoryin interfaceMediaPlayerComponent- Returns:
- factory
-
setCursorEnabled
public final void setCursorEnabled(boolean enabled) Enable or disable the mouse cursor when it is over the component.Note that you may see glitchy behaviour if you try and disable the cursor after you show the window/frame that contains your video surface.
If you want to disable the cursor for this component you should do so before you show the window.
- Parameters:
enabled-trueto enable (show) the cursor;falseto disable (hide) it
-
mediaChanged
Description copied from interface:MediaPlayerEventListenerThe media changed.- Specified by:
mediaChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventmedia- new media instance
-
opening
Description copied from interface:MediaPlayerEventListenerOpening the media.- Specified by:
openingin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
buffering
Description copied from interface:MediaPlayerEventListenerBuffering media.- Specified by:
bufferingin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewCache- percentage complete, ranging from 0.0 to 100.0
-
playing
Description copied from interface:MediaPlayerEventListenerThe media started playing.There is no guarantee that a video output has been created at this point.
- Specified by:
playingin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
paused
Description copied from interface:MediaPlayerEventListenerMedia paused.- Specified by:
pausedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
stopped
Description copied from interface:MediaPlayerEventListenerMedia stopped.A stopped event may be raised under certain circumstances even if the media player is not playing (e.g. as part of the associated media list player sub-item handling). Client applications must therefore be prepared to handle such a situation.
- Specified by:
stoppedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
forward
Description copied from interface:MediaPlayerEventListenerMedia skipped forward.- Specified by:
forwardin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
backward
Description copied from interface:MediaPlayerEventListenerMedia skipped backward.- Specified by:
backwardin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
finished
Description copied from interface:MediaPlayerEventListenerMedia finished playing (i.e. the end was reached without being stopped).- Specified by:
finishedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
timeChanged
Description copied from interface:MediaPlayerEventListenerMedia play-back time changed.- Specified by:
timeChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewTime- new time
-
positionChanged
Description copied from interface:MediaPlayerEventListenerMedia play-back position changed.- Specified by:
positionChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewPosition- percentage between 0.0 and 1.0
-
seekableChanged
Description copied from interface:MediaPlayerEventListenerMedia seekable status changed.- Specified by:
seekableChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewSeekable- new seekable status
-
pausableChanged
Description copied from interface:MediaPlayerEventListenerMedia pausable status changed.- Specified by:
pausableChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewSeekable- new pausable status
-
titleChanged
Description copied from interface:MediaPlayerEventListenerMedia title changed.- Specified by:
titleChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewTitle- new title
-
snapshotTaken
Description copied from interface:MediaPlayerEventListenerA snapshot was taken.- Specified by:
snapshotTakenin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventfilename- name of the file containing the snapshot
-
lengthChanged
Description copied from interface:MediaPlayerEventListenerMedia length changed.- Specified by:
lengthChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewLength- new length (number of milliseconds)
-
videoOutput
Description copied from interface:MediaPlayerEventListenerThe number of video outputs changed.- Specified by:
videoOutputin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewCount- new number of video outputs
-
scrambledChanged
Description copied from interface:MediaPlayerEventListenerProgram scrambled changed.- Specified by:
scrambledChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewScrambled- new scrambled value
-
elementaryStreamAdded
Description copied from interface:MediaPlayerEventListenerAn elementary stream was added.- Specified by:
elementaryStreamAddedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventtype- type of streamid- identifier of stream
-
elementaryStreamDeleted
Description copied from interface:MediaPlayerEventListenerAn elementary stream was deleted.- Specified by:
elementaryStreamDeletedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventtype- type of streamid- identifier of stream
-
elementaryStreamSelected
Description copied from interface:MediaPlayerEventListenerAn elementary stream was selected.- Specified by:
elementaryStreamSelectedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventtype- type of streamid- identifier of stream
-
corked
Description copied from interface:MediaPlayerEventListenerThe media player was corked/un-corked.Corking/un-corking can occur e.g. when another media player (or some other application) starts/stops playing media.
- Specified by:
corkedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventcorked-trueif corked; otherwisefalse
-
muted
Description copied from interface:MediaPlayerEventListenerThe audio was muted/un-muted.- Specified by:
mutedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventmuted-trueif muted; otherwisefalse
-
volumeChanged
Description copied from interface:MediaPlayerEventListenerThe volume changed.- Specified by:
volumeChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventvolume- new volume
-
audioDeviceChanged
Description copied from interface:MediaPlayerEventListenerThe audio device changed.- Specified by:
audioDeviceChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventaudioDevice- new audio device
-
chapterChanged
Description copied from interface:MediaPlayerEventListenerThe chapter changed.- Specified by:
chapterChangedin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the eventnewChapter- new chapter
-
error
Description copied from interface:MediaPlayerEventListenerAn error occurred.- Specified by:
errorin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
mediaPlayerReady
Description copied from interface:MediaPlayerEventListenerMedia player is ready (to enable features like logo and marquee) after the media has started playing.The implementation will fire this event once on receipt of the first native position-changed event with a position value greater than zero.
The event will be fired again if the media is played again after a native stopped or finished event is received.
Waiting for this event may be more reliable than using
MediaPlayerEventListener.playing(MediaPlayer)orMediaPlayerEventListener.videoOutput(MediaPlayer, int)in some cases (logo and marquee already mentioned, also setting audio tracks, sub-title tracks and so on).- Specified by:
mediaPlayerReadyin interfaceMediaPlayerEventListener- Parameters:
mediaPlayer- media player that raised the event
-
mediaMetaChanged
Description copied from interface:MediaEventListenerCurrent media meta data changed.- Specified by:
mediaMetaChangedin interfaceMediaEventListener- Parameters:
media- media that raised the eventmetaType- type of meta data that changed
-
mediaSubItemAdded
Description copied from interface:MediaEventListenerA new sub-item was added to the current media.- Specified by:
mediaSubItemAddedin interfaceMediaEventListener- Parameters:
media- media that raised the eventnewChild- native sub-item handle
-
mediaDurationChanged
Description copied from interface:MediaEventListenerThe current media duration changed.- Specified by:
mediaDurationChangedin interfaceMediaEventListener- Parameters:
media- media that raised the eventnewDuration- new duration (number of milliseconds)
-
mediaParsedChanged
Description copied from interface:MediaEventListenerThe current media parsed status changed.- Specified by:
mediaParsedChangedin interfaceMediaEventListener- Parameters:
media- media that raised the eventnewStatus- new parsed status
-
mediaFreed
Description copied from interface:MediaEventListenerThe current media was freed.- Specified by:
mediaFreedin interfaceMediaEventListener- Parameters:
media- media that raised the event
-
mediaStateChanged
Description copied from interface:MediaEventListenerThe current media state changed.- Specified by:
mediaStateChangedin interfaceMediaEventListener- Parameters:
media- media that raised the eventnewState- new state
-
mediaSubItemTreeAdded
Description copied from interface:MediaEventListenerA sub-item tree was added to the media.- Specified by:
mediaSubItemTreeAddedin interfaceMediaEventListener- Parameters:
media- media that raised the eventitem- media item
-
mediaThumbnailGenerated
- Specified by:
mediaThumbnailGeneratedin interfaceMediaEventListener
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mousePressed
- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mouseWheelMoved
- Specified by:
mouseWheelMovedin interfaceMouseWheelListener
-
keyTyped
- Specified by:
keyTypedin interfaceKeyListener
-
keyPressed
- Specified by:
keyPressedin interfaceKeyListener
-
keyReleased
- Specified by:
keyReleasedin interfaceKeyListener
-