Java FX AudioPlayer: wie reagiert man auf den Status "Musik abgespielt"

fhs14647

Mitglied
Hallo Profis

Ich habe wieder ein Problem, bei dem ich nicht weiterkomme. Ich habe einen kleinen AudioPlayer geschrieben, der einen Song aus dem package mit ButtonEvent abspielt bzw. stoppt.
Das klappt auch, nur wenn der Song zu Ende gespielt ist, dann kann ich ihn nicht mehr starten.

Vielen Dank vorab
Java:
public class Main extends Application {

  
    private StackPane root;
   

    @Override
    public void start(Stage primaryStage) {
        //Creating button and adding an ID for CSS
        Button btnPlay = new Button("Press to play or stop");
       
        Media media = new Media(this.getClass().getResource("aquarium.wav").toString());
        MediaPlayer player = new MediaPlayer(media);
       
        btnPlay.setOnAction(new EventHandler<ActionEvent>() {
            //handling status sound is playing or not playing
            @Override
            public void handle(ActionEvent event) {

                Status status = player.getStatus();

                if (status == Status.UNKNOWN || status == Status.HALTED) {
                   
                    System.out.println("Status ist unbekannt");
                    player.seek(player.getStartTime());
                    player.play();
                }

                if (status == Status.PAUSED
                        || status == Status.READY
                        || status == Status.STOPPED) {
                  
                    player.play();
                }
                if (status == Status.PLAYING) {
                  
                    player.stop();
                }
            }
        });

        root = new StackPane();
        root.getChildren().addAll(btnPlay);
        Scene scene = new Scene(root, 600, 450);
        //binding Scene to StyleStop.css
        scene.getStylesheets().add(Main.class.getResource("styleStop.css").toExternalForm());
        primaryStage.setTitle("Mediaplayer - My SoundMachine");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

  
}
 

fhs14647

Mitglied
Jetzt habe ich es ein bisschen verfeinert, das Starten und Stoppen funktioniert jetzt, es funktioniert jedoch nicht der setOnEndOfMedia-Handler. Was mache ich hier nur falsch???

Danke vorab
Java:
public class Main extends Application {

    private boolean playing;
    private StackPane root;
    private Media media;
    private MediaPlayer player;
    private Runnable runnable;

    @Override
    public void start(Stage primaryStage) {
        //Creating button and adding an ID for CSS

        Button btnPlay = new Button("Press to play!");
        btnPlay.setId("btnPlay");
        //Media-Sound is given to Container MediaPlayer
        media = new Media(this.getClass().getResource("aquarium.wav").toString());
        player = new MediaPlayer(media);
        // it does not work!!!!!!
        player.setOnEndOfMedia(new Runnable() {

            @Override
            public void run() {
               System.out.println("End of Sound reached");
            }
        });
       

        btnPlay.setOnAction(new EventHandler<ActionEvent>() {

            //handling state sound is playing or not playing
            @Override
            public void handle(ActionEvent event) {
                //Sound is not playing
                MediaPlayer.Status status = player.getStatus();

                if (status != MediaPlayer.Status.PLAYING) {
                    player = new MediaPlayer(media);
                    btnPlay.setText("Press to stop!");
                    player.play();
                    //changing design for Button
                    root.getStylesheets().add(Main.class.getResource("stylePlaying.css").toExternalForm());

                } else {
                    //Sound is playing
                    player.stop();
                    btnPlay.setText("Press to play!");
                    root.getStylesheets().add(Main.class.getResource("styleStop.css").toExternalForm());
                }
            }
        });
        root = new StackPane();
        root.getChildren().addAll(btnPlay);
        Scene scene = new Scene(root, 600, 450);
        //binding Scene to StyleStop.css
        scene.getStylesheets().add(Main.class.getResource("styleStop.css").toExternalForm());
        primaryStage.setTitle("Mediaplayer - My SoundMachine");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

 
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MaxG. JavaFX AudioPlayer Playlistmodus AWT, Swing, JavaFX & SWT 1
VPChief Nach abspielen von Sound reagiert das Program nichtmehr AWT, Swing, JavaFX & SWT 9
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
T Event Handling KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
G TableView EditingCell reagiert komisch AWT, Swing, JavaFX & SWT 4
T JMenu reagiert auf F-Taste AWT, Swing, JavaFX & SWT 6
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
S Swing App reagiert nicht AWT, Swing, JavaFX & SWT 12
L Tabelle reagiert ungewollt auf Mausklick AWT, Swing, JavaFX & SWT 6
P KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 11
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
S JScrollPane reagiert nicht AWT, Swing, JavaFX & SWT 3
A Keylistener reagiert nicht AWT, Swing, JavaFX & SWT 10
D JTree node reagiert bei Klick nicht immer AWT, Swing, JavaFX & SWT 2
F repaint reagiert nicht AWT, Swing, JavaFX & SWT 8
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
A Applet button reagiert nicht AWT, Swing, JavaFX & SWT 26
J Swing JTextField reagiert nicht auf .setText(); AWT, Swing, JavaFX & SWT 24
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
N jTextBox reagiert nicht auf JComBobox Ereignis AWT, Swing, JavaFX & SWT 2
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
B Swing JComboBox reagiert nicht AWT, Swing, JavaFX & SWT 4
M AWT KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
X JButton - reagiert schlecht AWT, Swing, JavaFX & SWT 2
C Swing KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 7
J 2D-Grafik JPanel reagiert sehr träge AWT, Swing, JavaFX & SWT 3
3 Swing JButton reagiert nicht AWT, Swing, JavaFX & SWT 6
J AWT Button reagiert nicht AWT, Swing, JavaFX & SWT 4
earlgrey_tea KeyEvent reagiert nicht auf Eingabe ("Pausentaste") AWT, Swing, JavaFX & SWT 11
H Swing Eigene Komponente reagiert falsch auf mouseClicked() AWT, Swing, JavaFX & SWT 5
F Swing Button reagiert erst beim mehrmaligen Anklicken AWT, Swing, JavaFX & SWT 6
M KeyListener reagiert nach Buttondruck nicht mehr AWT, Swing, JavaFX & SWT 4
P ActionListener reagiert nicht auf Button AWT, Swing, JavaFX & SWT 9
raptorrs Swing MouseListener reagiert nicht auf Instanz einer JTable AWT, Swing, JavaFX & SWT 6
F JButton reagiert erst beim 2 klick AWT, Swing, JavaFX & SWT 8
5 Mod.Dialog reagiert n.auf ActionListener seiner Komponenten AWT, Swing, JavaFX & SWT 4
C JComboBox reagiert nicht AWT, Swing, JavaFX & SWT 2
H JComboBox reagiert nicht auf MouseListener AWT, Swing, JavaFX & SWT 5
A JButton reagiert nicht auf KeyListener//Focuslistener AWT, Swing, JavaFX & SWT 4
J Ubuntu 7.04 - JTextField reagiert nicht mehr AWT, Swing, JavaFX & SWT 3
G ActionListener reagiert nicht AWT, Swing, JavaFX & SWT 4
M setDefaultCloseOperation() reagiert nicht? AWT, Swing, JavaFX & SWT 2
M JTextField reagiert nicht auf VK_ENTER AWT, Swing, JavaFX & SWT 8
T KeyListener reagiert seltsam bei F10 (Systemtasten?) AWT, Swing, JavaFX & SWT 5
M Erster Eintrag der ComboBox reagiert nicht AWT, Swing, JavaFX & SWT 12
V Event Dispatch thread reagiert nicht-probleme mit der GUI AWT, Swing, JavaFX & SWT 2
M ActionListener reagiert nicht AWT, Swing, JavaFX & SWT 6
B actionPerformed reagiert nicht auf das Canvas-objekt AWT, Swing, JavaFX & SWT 11
J JSplitPane reagiert nicht auf SetDeviderLocation() AWT, Swing, JavaFX & SWT 2
G KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
S Mausklick reagiert nicht im JMenuBar AWT, Swing, JavaFX & SWT 4
beatles Swing JTextField - Game Status aus Array anzeigen AWT, Swing, JavaFX & SWT 3
O Jcheckbox Status nachträglich abfragen AWT, Swing, JavaFX & SWT 2
F Status von RadioButtons abfragen AWT, Swing, JavaFX & SWT 5
D Fibonacci-Folge status Leiste. AWT, Swing, JavaFX & SWT 16
G Status(minimiert, maximi) eines JInternakframes herausfinden AWT, Swing, JavaFX & SWT 3
G JInternalFrame Fenster Status von Icon nach Normal? AWT, Swing, JavaFX & SWT 5
T 2 JScrollPanes auf den selben Status setzten AWT, Swing, JavaFX & SWT 8
A JTree: Status des Baums speichern? AWT, Swing, JavaFX & SWT 15
D CheckBox ändert Status nur, wenn sie FocusOwner ist AWT, Swing, JavaFX & SWT 2
G Status der Berechnung per JProgress anzeigen lassen AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben