public void start() { control.start(); }
public boolean isPlaying() { return control.isPlaying(); }
public void pause() { control.pause(); }
public MediaPresentationModel (final @Nonnull Media media, final @Nonnull Object ... capabilities) { // FIXME: Media doesn't expose Downloadable through its Lookup, // and AsLookupWithSupport doesn't include the owner Lookup when owner is Lookup.Provider. // So we have to explicitly expose those roles below. super(merged(new Object[] { media, media.as(Downloadable), media.as(Identifiable), media.as(Removable), media.as(PlainTextRenderable) }, capabilities)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull protected static <T> T get (final @Nonnull Media media, final @Nonnull Key<T> key, final @Nonnull T defaultValue) { try { return media.get(key); } catch (NotFoundException e) { return defaultValue; } }
@Nonnegative public int getDuration() { return control.getDuration(); }
@Nonnegative public int getCurrentPosition() { return control.getPosition(); }
public void seekTo (final @Nonnegative int position) { control.setPosition(position); }
@Override @Nonnull protected StillImage clone (final @Nonnull Map<Key<?>, Object> asMap) { return new StillImage(getId(), asMap); } }
/******************************************************************************************************************* * * ******************************************************************************************************************/ public void stop() { log.info("stop()"); if (mediaPlayerController != null) { mediaPlayerController.removePropertyChangeListener(mediaChangeListener); mediaPlayerController.dispose(); mediaPlayerController = null; controller.notifyStatusChanged(); } } }
@Override public void run() { media.as(Downloadable).download(); } });
public boolean isPlaying() { return control.isPlaying(); }
public void start() { control.start(); }
public void pause() { control.pause(); }
@Nonnegative public int getDuration() { return control.getDuration(); }
@Nonnegative public int getCurrentPosition() { return control.getPosition(); }
public void seekTo (final @Nonnegative int position) { control.setPosition(position); }
@Override public void run() { media.as(Downloadable).refresh(); } });
/******************************************************************************************************************* * * ******************************************************************************************************************/ public boolean isPlaying (final @Nonnull Media media) { // return isStatus(DOWNLOADED, OBSOLETE) && ... return (mediaPlayerController != null) && mediaPlayerController.isPlaying() && (media == playingMedia); }