"Freeze" lors du bouclage d'un fichier média
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.
Code:
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);
}
} |
La classe "AudioClip" semble donner le même résultat.
Y-a-t il un problème dans mon code, ou une façon d'obtenir des boucles "propres" ?
Merci !