Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

JavaFX: Media, MediaPlayer e MediaView

Scopriamo come realizzare un semplice video player utilizzando le API JavaFX del linguaggio Java che consentono di inserire audio e video nelle App RIA
Scopriamo come realizzare un semplice video player utilizzando le API JavaFX del linguaggio Java che consentono di inserire audio e video nelle App RIA
Link copiato negli appunti

Le API JavaFX consentono di inserire audio e video nelle applicazioni RIAs in modo tale da poter distribuire contenuti media su device come TV, Smartphone e Tablet. In questo articolo vedremo come realizzare un semplice video player.

Definire una risorsa video

La classe javafx.scene.media.Media rappresenta una risorsa media costruita a partire da un URI. Questa classe incapsula dati come durata, metadati, le tracce e risoluzione di un video.

Tali informazioni sono ottenute in modo asincrono e non sono quindi, in genere, immediatamente disponibili dopo la creazione dell'oggetto. Nelle linee di codice che seguono creiamo una risorsa media utilizzando l'URL di un video disponibile in Rete:

URL mediaUrl = new URL("http://techslides.com/demos/sample-videos/small.mp4");
Media media = new Media(mediaUrl.toExternalForm());

Costruire il Media Player

La classe javafx.scene.media.MediaPlayer fornisce i controlli per la gestione del contenuto multimediale: pause(), play(), stop(), seek() e autoPlay(). Altre funzionalità sono: il bilanciamento, il muto e il controllo del volume. Per la costruzione di un media player partendo dall'oggetto media appena istanziato, possiamo utilizzare il costruttore fornito dalla classe che accetta il tipo javafx.scene.media.Media:

MediaPlayer player = new MediaPlayer(media);
player.setAutoPlay(true);

e definire dei pulsanti per l'esecuzione e lo stop del flusso video:

Button playButton = new Button("Play");
Button stopButton = new Button("Stop");
playButton.setOnAction((ActionEvent event) -> {
	if (player.getStatus() == Status.PLAYING) {
		player.stop();
		player.play();
	} else {
		player.play();
	}
});
stopButton.setOnAction((ActionEvent event) -> {
	player.stop();
});

Una vista per la riproduzione del video

La classe MediaPlayer non rappresenta un contenuto visuale per un lettore video, per questo motivo abbiamo la necessità di ricorrere all'utilizzo della classe javafx.scene.media.MediaView. Questa classe fornisce una vista al lettore. Per poter visualizzare un lettore video non dobbiamo far altro che creare un oggetto MediaView passando al
costruttore della classe un oggetto MediaPlayer:

MediaView mediaView = new MediaView(player);
mediaView.setFitWidth(350);
mediaView.setFitHeight(200);
mediaView.setSmooth(true);

Completiamo il tutto con i controlli di layout tipici di una semplice applicazione JavaFX:

HBox controlBox = new HBox(5, playButton, stopButton);
VBox root = new VBox(5, mediaView, controlBox);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Media Player Demo");
stage.show();

Ti consigliamo anche