
FAQ JavaFXConsultez toutes les FAQ
Nombre d'auteurs : 4, nombre de questions : 507, derni�re mise � jour : 2 novembre 2016 Ajouter une question
Cette FAQ a �t� r�alis�e � partir des questions fr�quemment pos�es sur le forum JavaFX de http://java.developpez.com ainsi que l'exp�rience personnelle des auteurs.
Nous tenons � souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne pr�tend pas non plus �tre compl�te. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant r�dacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture.
Pour tester si les m�dias sont support�s par votre plateforme, vous pouvez invoquer la m�thode isSupported() de la classe javafx.application.Platform en lui passant en param�tre la valeur javafx.application.ConditionalFeature.MEDIA :
Code Java : | S�lectionner tout |
Platform.isSupported(ConditionalFeature.MEDIA);
� l'heure actuelle (JDK8_u20), les m�dias ne sont pas disponibles sur la version ARM du JDK destin�e aux plateformes embarqu�es (ex. : Raspberry Pi, etc.).
Vous devez d�clarer un objet de type javafx.scene.media.Media qui pointe vers votre fichier sonore ou vid�o.
Il est possible de r�cup�rer les m�dias � jouer ou � afficher de quatre mani�res :
- Le m�dia peut �tre empaquet� dans une biblioth�que ou une application et r�cup�r� via le m�canisme des ressources ou des ClassLoader.
Code Java : S�lectionner tout 1
2final URL musicURL = getClass().getResource("music.mpg3"); final Media media = new Media(musicURL.toExternalForm());
- Le m�dia peut �tre sur un disque local et peut �tre r�f�renc� par les classes File, Path, URI ou URL.
Code Java : S�lectionner tout 1
2final File file = new File("C:\\Users\\Public\\Music\\Sample Music\\Kalimba.mp3"); final Media media = new Media(file.toURI().toString());
- Le m�dia peut �tre h�berg� sur un site web distant et on peut y acc�der par une String ou une URL contenant son chemin d�acc�s.
Code Java : S�lectionner tout 1
2final String musicURI = "http://unsiteweb/music.mp3"; final Media media = new Media(musicURI);
Il est �galement possible d'utiliser les services d�h�te de l'application pour r�soudre l'URI distante d'une image h�berg�e sur le m�me site que l'application :Code Java : S�lectionner tout 1
2
3final HostServices services = application.getHostServices(); final String musicURI = services.resolveURI(services.getDocumentBase(), "music.mp3"); final Media media = new Media(musicURI);
- Le m�dia peut �tre stream� depuis un site distant.
Si le fichier sonore n'est pas trouv�, une exception de type MediaException: MEDIA_UNAVAILABLE sera lev�e lorsqu'on tente lors de l'instanciation de l'objet Media.
Si le format du m�dia n'est pas support� par JavaFX, une exception de type MediaException: MEDIA_UNSUPPORTED sera lev�e lorsqu'on tente lors de l'instanciation de l'objet Media.
La liste des codecs et des conteneurs support�s est donn�e dans la page de documentation du package javafx.scene.media.
Vous devez d�clarer un objet de type javafx.scene.media.Media qui pointe vers votre fichier sonore et utiliser un javafx.scene.media.MediaPlayer pour le lire.
Par exemple, dans le code suivant, le fichier sonore se trouve sur le disque local :
Code Java : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Main extends Application { @Override public void start(Stage primaryStage) { final File file = new File("C:\\Users\\Public\\Music\\Sample Music\\Kalimba.mp3"); final Media media = new Media(file.toURI().toString()); final MediaPlayer mediaPlayer = new MediaPlayer(media); mediaPlayer.play(); } public static void main(String[] args) { launch(args); } } |
Dans ce code, nous n'affichons m�me pas la fen�tre de l'application et pourtant la musique sera correctement lue.
Nous allons proc�der de la m�me mani�re mais, cette fois-ci, il va nous falloir afficher la vid�o dans la fen�tre.
Vous devez d�clarer un objet de type javafx.scene.media.Media qui pointe vers votre fichier vid�o et utiliser un javafx.scene.media.MediaPlayer pour le lire. Nous devons ensuite utiliser un objet de type javafx.scene.media.MediaView pour inclure le lecteur dans la sc�ne. MediaView est un n�ud graphique comme un autre et peut donc �tre plac� dans une sc�ne et manipul�, transform�, subir des effets ou des animations comme n'importe quel autre n�ud.
Par exemple, le code suivant lit une vid�o au format MP4 fournie dans le SDK d'Android :
Code Java : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public class Main extends Application { @Override public void start(Stage primaryStage) { final File file = new File("C:\\adt-bundle-windows-x86_64-20140321\\sdk\\extras\\android\\support\\samples\\Support4Demos\\res\\raw\\videoviewdemo.mp4"); final Media media = new Media(file.toURI().toString()); final MediaPlayer mediaPlayer = new MediaPlayer(media); final MediaView mediaView = new MediaView(mediaPlayer); final StackPane root = new StackPane(); root.getChildren().setAll(mediaView); final Scene scene = new Scene(root, 350, 300); primaryStage.setTitle("Test de lecture de vid�o"); primaryStage.setScene(scene); primaryStage.show(); mediaView.fitWidthProperty().bind(root.widthProperty()); mediaView.fitHeightProperty().bind(root.heightProperty()); mediaPlayer.play(); } public static void main(String[] args) { launch(args); } } |
Ce qui nous donne :

Ici, lorsque nous agrandissons la fen�tre, la vid�o se redimensionne tout en conservant le ratio d'origine entre les dimensions. La bande sonore qui accompagne la vid�o est correctement lue.
Proposer une nouvelle r�ponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plut�t sur le forum de la rubrique pour �aLes sources pr�sent�es sur cette page sont libres de droits et vous pouvez les utiliser � votre convenance. Par contre, la page de pr�sentation constitue une �uvre intellectuelle prot�g�e par les droits d'auteur. Copyright � 2025 Developpez Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'� trois ans de prison et jusqu'� 300 000 � de dommages et int�r�ts.