Bonjour à tous !
J'essaye de boucler des fichiers audio et vidéo avec JavaFX, mais le media "freeze" à chaque fois qu'une nouvelle boucle se lance (environ 500ms).
Pour l'audio, cela se traduit par un "blanc", pour la vidéo par un arrêt sur image.
La classe "AudioClip" semble donner le même résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.stage.Stage; public class MediaLoopTest extends Application{ @Override public void start(Stage primaryStage) throws Exception { //VIDEO Media video = new Media(this.getClass().getClassLoader().getResource("path/to/file.mp4").toExternalForm()); MediaPlayer mp = new MediaPlayer(video); MediaView mv = new MediaView(mp); mp.setCycleCount(MediaPlayer.INDEFINITE); mp.setAutoPlay(true); //AUDIO Media audio = new Media(this.getClass().getClassLoader().getResource("path/to/file.wav").toExternalForm()); MediaPlayer mp2 = new MediaPlayer(audio); MediaView mv2 = new MediaView(mp2); mp2.setCycleCount(MediaPlayer.INDEFINITE); mp2.setAutoPlay(true); //ROOT StackPane root = new StackPane(); root.getChildren().addAll(mv, mv2); //STAGE primaryStage.setWidth(800); primaryStage.setHeight(600); primaryStage.setScene(new Scene(root)); primaryStage.show(); } public static void main(final String args[]){ Application.launch(MediaLoopTest.class, args); } }
Y-a-t il un problème dans mon code, ou une façon d'obtenir des boucles "propres" ?
Merci !
Partager