diff --git a/src/main/java/sbu/javafx/Main.java b/src/main/java/sbu/javafx/Main.java index b5bf9a3..8330187 100644 --- a/src/main/java/sbu/javafx/Main.java +++ b/src/main/java/sbu/javafx/Main.java @@ -17,7 +17,7 @@ public class Main extends Application { controller.musicsListView.getItems().addAll( new Song("Blinding Lights", "The Weeknd","/musics/The-Weeknd-Blinding-Lights-128.mp3"), - new Song("Comme des enfants", "Coert De Pirate","/musics/Coeur-De-Pirate-Comme-des-enfants-128.pm3"), + new Song("Comme des enfants", "Coert De Pirate","/musics/Coeur-De-Pirate-Comme-des-enfants-128.mp3"), new Song("Slow Down", "GRAE", "/musics/GRAE-Slow-Down-128.mp3"), new Song("Cigarettes out the Window", "TV Girl", "/music/TV-Girl-Cigarettes-out-the-Window-128.mp3"), new Song("deja vu", "Olivia Rodirgo", "/musics/Olivia-Rodrigo-deja-vu-320.mp3"), diff --git a/src/main/java/sbu/javafx/MusicController.java b/src/main/java/sbu/javafx/MusicController.java index 61d19bb..e2e24e2 100644 --- a/src/main/java/sbu/javafx/MusicController.java +++ b/src/main/java/sbu/javafx/MusicController.java @@ -11,6 +11,8 @@ import javafx.scene.image.ImageView; import javafx.scene.layout.*; import javafx.scene.Scene; import javafx.scene.layout.VBox; +import javafx.scene.media.Media; +import javafx.scene.media.MediaPlayer; import javafx.util.Duration; @@ -38,12 +40,17 @@ public class MusicController { private boolean isPlaying=false; private boolean isMute=false; private boolean isOpen=false; + private boolean isRepeat=false; private Song currentSong = null; ImageView playIcon; ImageView pauseIcon; ImageView audioIcon; ImageView muteIcon; + String path; + Media media; + MediaPlayer player ; + // TODO: Define your UI components using the @FXML annotation. @FXML @@ -161,11 +168,21 @@ public class MusicController { } public void play(ActionEvent event, Song song){ + currentSong=song; nowPlayingLabel.setText(song.getName()); + if (!isPlaying) playPause(event); - //کد پخش + + // کد پخش موسیقی + path = getClass() + .getResource(song.getPath()) + .toExternalForm(); + media = new Media(path); + player = new MediaPlayer(media); + + player.play(); } @FXML @@ -173,7 +190,10 @@ public class MusicController { if(isPlaying){ playPauseBtn.setGraphic(playIcon); isPlaying=false; - //کد توقف اینجاست چون برای هر توقفی دکمه ی پاز رو میزنیم ولی برای پلی ممکنه از بین آهنگ ها بزنیم + + //کد توقف + player.pause(); + } else{ playPauseBtn.setGraphic(pauseIcon); @@ -183,11 +203,14 @@ public class MusicController { @FXML public void mute(ActionEvent e){ - isMute=!isMute; if(!isMute){ - audioBtn.setGraphic(audioIcon); - }else{ audioBtn.setGraphic(muteIcon); + player.setVolume(0); + isMute=true; + }else{ + audioBtn.setGraphic(audioIcon); + player.setVolume(100); + isMute=false; } } @@ -219,7 +242,6 @@ public class MusicController { if(!isOpen){ // باز کردن پلی‌لیست - if(playlistListView.getItems().isEmpty()){ Alert alert = new Alert(Alert.AlertType.WARNING); diff --git a/src/main/resources/sbu/javafx/App-view.fxml b/src/main/resources/sbu/javafx/App-view.fxml index 33ba601..91cf132 100644 --- a/src/main/resources/sbu/javafx/App-view.fxml +++ b/src/main/resources/sbu/javafx/App-view.fxml @@ -11,11 +11,20 @@ - + - - - - - - -