Search in sources :

Example 1 with Media

use of javafx.scene.media.Media in project Gargoyle by callakrsos.

the class MediaViewerWrapper method init.

public void init() throws MalformedURLException {
    if (!webm.exists() && mp4.exists()) {
        Media media = new Media(mp4.toURI().toURL().toExternalForm());
        mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);
        mediaPlayer.setOnReady(() -> {
            LOGGER.debug("ready");
        });
        mediaPlayer.setOnEndOfMedia(() -> {
            try {
                close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
        mediaView = new MediaView(mediaPlayer);
        mediaView.setPreserveRatio(true);
        mediaView.setOnMouseClicked(ev -> {
            if (ev.getClickCount() == 1) {
                if (mediaPlayer.getStatus() == MediaPlayer.Status.PLAYING) {
                    mediaPlayer.pause();
                } else if (mediaPlayer.getStatus() == MediaPlayer.Status.PAUSED) {
                    mediaPlayer.play();
                }
            }
        });
        setCenter(mediaView);
    } else if (webm.exists() && mp4.exists()) {
        Media media = new Media(webm.toURI().toURL().toExternalForm());
        Media audio = new Media(mp4.toURI().toURL().toExternalForm());
        mediaPlayer = new MediaPlayer(media);
        audioPlayer = new MediaPlayer(audio);
        mediaPlayer.setAutoPlay(false);
        audioPlayer.setAutoPlay(false);
        mediaPlayer.setOnReady(() -> {
            LOGGER.debug("ready");
        });
        mediaPlayer.setOnEndOfMedia(() -> {
            try {
                close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
        mediaView = new MediaView(mediaPlayer);
        audioView = new MediaView(audioPlayer);
        mediaView.setPreserveRatio(true);
        mediaView.setOnMouseClicked(ev -> {
            if (ev.getClickCount() == 1) {
                if (mediaPlayer.getStatus() == MediaPlayer.Status.PLAYING) {
                    mediaPlayer.pause();
                    audioPlayer.pause();
                } else if (mediaPlayer.getStatus() == MediaPlayer.Status.PAUSED) {
                    mediaPlayer.play();
                    audioPlayer.play();
                }
            }
        });
        setCenter(mediaView);
    }
}
Also used : Logger(org.slf4j.Logger) MalformedURLException(java.net.MalformedURLException) Closeable(java.io.Closeable) LoggerFactory(org.slf4j.LoggerFactory) IOException(java.io.IOException) BorderPane(javafx.scene.layout.BorderPane) Media(javafx.scene.media.Media) MediaPlayer(javafx.scene.media.MediaPlayer) File(java.io.File) MediaView(javafx.scene.media.MediaView) Media(javafx.scene.media.Media) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) MediaView(javafx.scene.media.MediaView) MediaPlayer(javafx.scene.media.MediaPlayer)

Example 2 with Media

use of javafx.scene.media.Media in project Board-Instrumentation-Framework by intel.

the class MediaPlayerWidget method AddMediaFile.

public boolean AddMediaFile(String newFile, String ID) {
    if (null == newFile) {
        return false;
    }
    String strFileName = BaseWidget.convertToFileOSSpecific(newFile);
    if (null == strFileName) {
        return false;
    }
    String uriFile = VerifyFilename(strFileName);
    if (null != uriFile) {
        try {
            // just a test
            Media objMedia = getMedia(uriFile);
            if (null != objMedia) {
                if (false == _MediaURI.containsKey(ID)) {
                    // has of uri's
                    _MediaURI.put(ID, uriFile);
                    _ListOfIDs.add(ID);
                    return true;
                }
                LOGGER.severe("Duplicate media ID specified for " + _WidgetType + " Widget:" + ID);
            }
        } catch (Exception ex) {
            LOGGER.severe(newFile + " is not a valid or supported media file ");
            LOGGER.severe(ex.toString());
        }
    }
    return false;
}
Also used : Media(javafx.scene.media.Media)

Example 3 with Media

use of javafx.scene.media.Media in project org.csstudio.display.builder by kasemir.

the class JFXRepresentation method playAudio.

@Override
public Future<Boolean> playAudio(final String url) {
    final CompletableFuture<AudioFuture> result = new CompletableFuture<>();
    // Create on UI thread
    execute(() -> {
        try {
            final Media sound = new Media(url);
            final MediaPlayer player = new MediaPlayer(sound);
            result.complete(new AudioFuture(player));
        } catch (Exception ex) {
            result.completeExceptionally(ex);
        }
    });
    try {
        return result.get();
    } catch (Exception ex) {
        logger.log(Level.WARNING, "Audio playback error for " + url, ex);
    }
    return CompletableFuture.completedFuture(false);
}
Also used : CompletableFuture(java.util.concurrent.CompletableFuture) Media(javafx.scene.media.Media) ExecutionException(java.util.concurrent.ExecutionException) TimeoutException(java.util.concurrent.TimeoutException) MediaPlayer(javafx.scene.media.MediaPlayer)

Example 4 with Media

use of javafx.scene.media.Media in project osumer by mob41.

the class BeforeSoundAction method run.

@Override
public void run(Queue queue) {
    Thread thread = new Thread(new Runnable() {

        public void run() {
            try {
                Media m = new Media(new File(config.getToneBeforeDownloadPath()).toURI().toString());
                MediaPlayer mp = new MediaPlayer(m);
                mp.play();
            } catch (Exception e) {
                e.printStackTrace();
                DumpManager.getInstance().addDump(new DebugDump(null, "---", "Play before download sound", "---", "Error occurred when trying to play sound", false, e));
            }
        }
    });
    thread.setDaemon(true);
    thread.start();
}
Also used : Media(javafx.scene.media.Media) File(java.io.File) DebugDump(com.github.mob41.organdebug.DebugDump) MediaPlayer(javafx.scene.media.MediaPlayer)

Example 5 with Media

use of javafx.scene.media.Media in project CapsLock by chrootRISCassembler.

the class ContentsAreaController method displayMovie.

private void displayMovie() {
    final Media media = new Media(movieIterator.next().toUri().toString());
    player = new MediaPlayer(media);
    player.setAutoPlay(true);
    player.setOnEndOfMedia(() -> onMovieEnd());
    player.setCycleCount(1);
    mediaView.setMediaPlayer(player);
    mediaView.setFitWidth(parentRegion.getWidth());
}
Also used : Media(javafx.scene.media.Media) MediaPlayer(javafx.scene.media.MediaPlayer)

Aggregations

Media (javafx.scene.media.Media)16 MediaPlayer (javafx.scene.media.MediaPlayer)14 File (java.io.File)8 MediaView (javafx.scene.media.MediaView)4 MediaFile (com.negativevr.media_library.files.MediaFile)3 ActionEvent (javafx.event.ActionEvent)3 Duration (javafx.util.Duration)3 DebugDump (com.github.mob41.organdebug.DebugDump)2 KeyFrame (javafx.animation.KeyFrame)2 KeyValue (javafx.animation.KeyValue)2 Timeline (javafx.animation.Timeline)2 InvalidationListener (javafx.beans.InvalidationListener)2 Observable (javafx.beans.Observable)2 Scene (javafx.scene.Scene)2 Button (javafx.scene.control.Button)2 Label (javafx.scene.control.Label)2 Image (javafx.scene.image.Image)2 ImageView (javafx.scene.image.ImageView)2 MouseButton (javafx.scene.input.MouseButton)2 BorderPane (javafx.scene.layout.BorderPane)2