Hallo zusammen,
ich bräuchte Hilfe bei einem kleinen Problem mit den Media-Klassen aus der JavaFx-Version. Ich habe folgenden Code für einen Button:
und die dazugehörige Klasse MediaElement:
Ich möchte also lediglich eine beliebige Anzahl von beispielsweise mp3 Dateien laden und auf deren Metadaten zugreifen. Folgende Probleme habe ich bzw. Aspekte verstehe ich nicht:
ich bräuchte Hilfe bei einem kleinen Problem mit den Media-Klassen aus der JavaFx-Version. Ich habe folgenden Code für einen Button:
Java:
addbutton.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
FileChooser fc = new FileChooser();
List<File> filelist = fc.showOpenMultipleDialog(primaryStage);
if (filelist != null) {
for (File file : filelist) {
Media m = new Media(file.toURI().toString());
MedienElement me = new MedienElement(m);
System.out.println(me.toString());
}
}
}
});
und die dazugehörige Klasse MediaElement:
Java:
public class MedienElement {
String artist;
Media song;
public MediaElement(Media m){
song = m;
MediaPlayer mp = new MediaPlayer(m);
mp.setOnReady(new Runnable() {
@Override
public void run() {
artist = (String)mp.getMedia().getMetadata().get("artist");
}
});
}
public String toString(){
return artist;
}
}
Ich möchte also lediglich eine beliebige Anzahl von beispielsweise mp3 Dateien laden und auf deren Metadaten zugreifen. Folgende Probleme habe ich bzw. Aspekte verstehe ich nicht:
- Warum brauche ich einen MediaPlayer, um die Metadaten meiner Media auszulesen? Die Metadaten müssten doch auch unabhängig vom Player bereits existieren!?
- Das eigentliche Problem liegt in der Zeile
Java:
System.out.println(me.toString());