Je joue avec javafx et j'ai modifié le code de la démo de MediaPleyer en essayant de reproduire un fichier wav. Ça ne marche pas.Fichiers Javafx et wav
/*
* Copyright (c) 2009, SUN Microsystems, Inc.
* All rights reserved.
*/
package javafx.tools.fxd.demos.mediaplayer;
import javafx.scene.*;
import javafx.scene.media.*;
import javafx.stage.*;
var player = javafx.scene.media.MediaPlayer {
repeatCount: 1
media: Media {
source: "{__DIR__}Door_Open.wav"
};
};
class MyMediaPlayerUI extends MediaPlayerUI {
override protected function contentLoaded() {
super.contentLoaded();
var s = player.media.source;
var i = s.lastIndexOf ("/");
if (i >= 0) {
s = s.substring (i + 1);
}
fileName.content = s;
}
}
var stage : Stage;
var ui = MyMediaPlayerUI {};
var skins = [ "{__DIR__}MediaPlayer1.fxz", "{__DIR__}MediaPlayer2.fxz" ];
var index = 0;
ButtonController {
pressed: bind ui.playPressed
hovered: bind ui.playHovered
normal: bind ui.playNormal
activeArea: bind ui.playActiveArea
action: function() {
player.play();
}
}
ButtonController {
pressed: bind ui.pausePressed
hovered: bind ui.pauseHovered
normal: bind ui.pauseNormal
activeArea: bind ui.pauseActiveArea
action: function() {
player.pause();
}
}
ButtonController {
pressed: bind ui.switchPressed
hovered: bind ui.switchHovered
normal: bind ui.switchNormal
activeArea: bind ui.switchActiveArea
action: function() {
index = (index + 1) mod skins.size();
ui.url = skins[index];
}
}
stage = Stage {
title: "Media Player"
//visible: true
resizable: false
onClose: function() { java.lang.System.exit (0); }
scene: Scene {
content: ui
}
}
Le fichier wav n'est pas reproduit sans exception. Si je change la propriété repeatCount à
repeatCount: javafx.scene.media.MediaPlayer.REPEAT_FOREVER
donne finalement une exception espace de tas:
Exception in thread "PlayerLoop" java.lang.OutOfMemoryError: Java heap space
Il y a un problème dans le code ci-dessus? Il existe un moyen de reproduire des fichiers WAV? Je pense que c'est essentiel pour javafx puisque les wavs sont un format audio très répandu.
Merci.
Ce doit être quelque chose lié au fichier lui-même parce que j'ai essayé le "chord.wav" de Windows et cela fonctionne. – Averroes
Dans ce cas, lorsque le son finit sa première reproduction et que je clique sur rejouer, j'obtiens cette exception: Exception dans le thread "AWT-EventQueue-1" com.sun.media.jmc.OperationUnsupportedException: l'homologue du lecteur multimédia ne peut pas définir l'heure du média sur temps: 1.207031191 C'est assez frustrant. – Averroes