public class DirectMediaPlayerComponent extends Object implements MediaPlayerEventListener, RenderCallback
The default behaviour is to provide the video data via the display(Memory) method.
Sub-classes may override this method to implement their own processing, or alternately return an
implementation of a RenderCallback by overriding the onGetRenderCallback()
template method.
An example: mediaPlayerComponent = new DirectMediaPlayerComponent() { protected String[] onGetMediaPlayerFactoryArgs() { return new String[] {"--no-video-title-show", "--ffmpeg-hw"}; } public void videoOutputAvailable(MediaPlayer mediaPlayer, boolean videoOutput) { } public void error(MediaPlayer mediaPlayer) { } public void finished(MediaPlayer mediaPlayer) { } public void display(Memory nativeBuffer) { // Do something with the native video memory... } };
| Constructor and Description |
|---|
DirectMediaPlayerComponent(String format,
int width,
int height,
int pitch)
Construct a media player component.
|
| Modifier and Type | Method and Description |
|---|---|
void |
backward(MediaPlayer mediaPlayer)
Media skipped backward.
|
void |
buffering(MediaPlayer mediaPlayer,
float newCache)
Buffering media.
|
void |
display(com.sun.jna.Memory nativeBuffer)
Call-back when ready to display a video frame.
|
void |
endOfSubItems(MediaPlayer mediaPlayer)
The end of the media sub-items was reached.
|
void |
error(MediaPlayer mediaPlayer)
An error occurred.
|
void |
finished(MediaPlayer mediaPlayer)
Media finished playing (i.e.
|
void |
forward(MediaPlayer mediaPlayer)
Media skipped forward.
|
DirectMediaPlayer |
getMediaPlayer()
Get the direct media player reference.
|
MediaPlayerFactory |
getMediaPlayerFactory()
Get the media player factory reference.
|
void |
lengthChanged(MediaPlayer mediaPlayer,
long newLength)
Media length changed.
|
void |
mediaChanged(MediaPlayer mediaPlayer,
libvlc_media_t media,
String mrl)
The media changed.
|
void |
mediaDurationChanged(MediaPlayer mediaPlayer,
long newDuration)
The current media duration changed.
|
void |
mediaFreed(MediaPlayer mediaPlayer)
The current media was freed.
|
void |
mediaMetaChanged(MediaPlayer mediaPlayer,
int metaType)
Current media meta data changed.
|
void |
mediaParsedChanged(MediaPlayer mediaPlayer,
int newStatus)
The current media parsed status changed.
|
void |
mediaStateChanged(MediaPlayer mediaPlayer,
int newState)
The current media state changed.
|
void |
mediaSubItemAdded(MediaPlayer mediaPlayer,
libvlc_media_t subItem)
A new sub-item was added to the current media.
|
void |
newMedia(MediaPlayer mediaPlayer)
New media was opened.
|
void |
opening(MediaPlayer mediaPlayer)
Opening the media.
|
void |
pausableChanged(MediaPlayer mediaPlayer,
int newSeekable)
Media pausable status changed.
|
void |
paused(MediaPlayer mediaPlayer)
Media paused.
|
void |
playing(MediaPlayer mediaPlayer)
The media started playing.
|
void |
positionChanged(MediaPlayer mediaPlayer,
float newPosition)
Media play-back position changed.
|
void |
release()
Release the media player component and the associated native media player resources.
|
void |
seekableChanged(MediaPlayer mediaPlayer,
int newSeekable)
Media seekable status changed.
|
void |
snapshotTaken(MediaPlayer mediaPlayer,
String filename)
A snapshot was taken.
|
void |
stopped(MediaPlayer mediaPlayer)
Media stopped.
|
void |
subItemFinished(MediaPlayer mediaPlayer,
int subItemIndex)
A sub-item finished playing.
|
void |
subItemPlayed(MediaPlayer mediaPlayer,
int subItemIndex)
A sub-item was played.
|
void |
timeChanged(MediaPlayer mediaPlayer,
long newTime)
Media play-back time changed.
|
void |
titleChanged(MediaPlayer mediaPlayer,
int newTitle)
Media title changed.
|
void |
videoOutput(MediaPlayer mediaPlayer,
int newCount)
The number of video outputs changed.
|
public DirectMediaPlayerComponent(String format, int width, int height, int pitch)
format - video formatwidth - video widthheight - video heightpitch - video pitch (also known as "stride")public final MediaPlayerFactory getMediaPlayerFactory()
public final DirectMediaPlayer getMediaPlayer()
An application uses this handle to control the media player, add listeners and so on.
public final void release()
public void mediaChanged(MediaPlayer mediaPlayer, libvlc_media_t media, String mrl)
MediaPlayerEventListenermediaChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventmedia - new media instancemrl - media resource locatorpublic void opening(MediaPlayer mediaPlayer)
MediaPlayerEventListeneropening in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void buffering(MediaPlayer mediaPlayer, float newCache)
MediaPlayerEventListenerbuffering in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewCache - percentage complete, ranging from 0.0 to 100.0public void playing(MediaPlayer mediaPlayer)
MediaPlayerEventListenerThere is no guarantee that a video output has been created at this point.
playing in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void paused(MediaPlayer mediaPlayer)
MediaPlayerEventListenerpaused in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void stopped(MediaPlayer mediaPlayer)
MediaPlayerEventListenerstopped in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void forward(MediaPlayer mediaPlayer)
MediaPlayerEventListenerforward in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void backward(MediaPlayer mediaPlayer)
MediaPlayerEventListenerbackward in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void finished(MediaPlayer mediaPlayer)
MediaPlayerEventListenerfinished in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void timeChanged(MediaPlayer mediaPlayer, long newTime)
MediaPlayerEventListenertimeChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewTime - new timepublic void positionChanged(MediaPlayer mediaPlayer, float newPosition)
MediaPlayerEventListenerpositionChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewPosition - percentage between 0.0 and 1.0public void seekableChanged(MediaPlayer mediaPlayer, int newSeekable)
MediaPlayerEventListenerseekableChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewSeekable - new seekable statuspublic void pausableChanged(MediaPlayer mediaPlayer, int newSeekable)
MediaPlayerEventListenerpausableChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewSeekable - new pausable statuspublic void titleChanged(MediaPlayer mediaPlayer, int newTitle)
MediaPlayerEventListenertitleChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewTitle - new titlepublic void snapshotTaken(MediaPlayer mediaPlayer, String filename)
MediaPlayerEventListenersnapshotTaken in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventfilename - name of the file containing the snapshotpublic void lengthChanged(MediaPlayer mediaPlayer, long newLength)
MediaPlayerEventListenerlengthChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewLength - new length (number of milliseconds)public void videoOutput(MediaPlayer mediaPlayer, int newCount)
MediaPlayerEventListenervideoOutput in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewCount - new number of video outputspublic void error(MediaPlayer mediaPlayer)
MediaPlayerEventListenererror in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void mediaMetaChanged(MediaPlayer mediaPlayer, int metaType)
MediaPlayerEventListenermediaMetaChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventmetaType - type of meta data that changedpublic void mediaSubItemAdded(MediaPlayer mediaPlayer, libvlc_media_t subItem)
MediaPlayerEventListenermediaSubItemAdded in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventsubItem - native sub-item handlepublic void mediaDurationChanged(MediaPlayer mediaPlayer, long newDuration)
MediaPlayerEventListenermediaDurationChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewDuration - new duration (number of milliseconds)public void mediaParsedChanged(MediaPlayer mediaPlayer, int newStatus)
MediaPlayerEventListenermediaParsedChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewStatus - new parsed statuspublic void mediaFreed(MediaPlayer mediaPlayer)
MediaPlayerEventListenermediaFreed in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void mediaStateChanged(MediaPlayer mediaPlayer, int newState)
MediaPlayerEventListenermediaStateChanged in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventnewState - new statepublic void newMedia(MediaPlayer mediaPlayer)
MediaPlayerEventListenerThis is raised only for the "main" media item and not for any sub-items.
newMedia in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void subItemPlayed(MediaPlayer mediaPlayer, int subItemIndex)
MediaPlayerEventListenerThere is no guarantee the sub-item actually started, but it was at least attempted to be played.
subItemPlayed in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventsubItemIndex - index of the sub-item that was playedpublic void subItemFinished(MediaPlayer mediaPlayer, int subItemIndex)
MediaPlayerEventListenersubItemFinished in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventsubItemIndex - index of the sub-item that finished playingpublic void endOfSubItems(MediaPlayer mediaPlayer)
MediaPlayerEventListenerThis event will not be raised if the sub-items are being repeated.
endOfSubItems in interface MediaPlayerEventListenermediaPlayer - media player that raised the eventpublic void display(com.sun.jna.Memory nativeBuffer)
RenderCallbackdisplay in interface RenderCallbacknativeBuffer - video data for one frameCopyright © 2009-2012 Caprica Software Limited. All Rights Reserved.