Java Reference
In-Depth Information
public SongModel() {
resetProperties();
}
public void setURL(String url) {
if (mediaPlayer.get() != null) {
mediaPlayer.get().stop();
}
initializeMedia(url);
}
public String getAlbum() { return album.get(); }
public void setAlbum(String value) { album.set(value); }
public StringProperty albumProperty() { return album; }
// The three methods above are repeated for the artist, title,
// year, and albumCover properties...
public MediaPlayer getMediaPlayer() { return mediaPlayer.get(); }
public ReadOnlyObjectProperty<MediaPlayer> mediaPlayerProperty() {
return mediaPlayer.getReadOnlyProperty();
}
private void resetProperties() {
setArtist("");
setAlbum("");
setTitle("");
setYear("");
setAlbumCover(DEFAULT_ALBUM_COVER);
}
private void initializeMedia(String url) {
resetProperties();
try {
final Media media = new Media(url);
media.getMetadata().addListener((Change<? extends String, ? extends Object> ch) -> {
if (ch.wasAdded()) {
handleMetadata(ch.getKey(), ch.getValueAdded());
}
});
mediaPlayer.setValue(new MediaPlayer(media));
mediaPlayer.get().setOnError(() -> {
String errorMessage = mediaPlayer.get().getError().getMessage();
// Handle errors during playback
System.out.println("MediaPlayer Error: " + errorMessage);
});
 
Search WWH ::




Custom Search