как я могу воспроизвести аудио, когда я пишу любое число с помощью javafx - PullRequest
0 голосов
/ 03 мая 2019

У меня есть небольшой проект в середине текстового поля окна, когда я набираю номер, который мне нужен, чтобы позвонить по звуку. Какой номер я пишу в текстовом поле, например, я написал номер: 1 введите, и звук работает один раз, пока играю agianкогда я написал тот же номер или другой номер и остановил его и т. д. *

Я искал код, который отвечает за этот проект, но я просто нашел аудио воспроизведения

//this the text field what i have to write the number on it 
//(numberscreen)
//screen1,screen2...etc it's for passing the old number from number 
//screen 

@FXML
private TextField numberscreen;

@FXML
public void screeninsert() {
    play();
    String enteredText = numberscreen.getText();
    String enteredText1 = screen1.getText();
    String enteredText2 = screen2.getText();
    String enteredText3 = screen3.getText();
    String enteredText4 = screen4.getText();
    String enteredText5 = screen5.getText();
    String enteredText6 = screen6.getText();
    numberscreen.clear();
    screen1.setText(enteredText);
    screen2.setText(enteredText1);
    screen3.setText(enteredText2);
    screen4.setText(enteredText3);
    screen5.setText(enteredText4);
    screen6.setText(enteredText5);
    screen7.setText(enteredText6);

 }

public void AudioPlay(){
URL url = 
this.getClass().getClassLoader().getResource("audio/1.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url); 
AudioFormat littleEndianFormat = getAudioFormat();
AudioInputStream converted = 
AudioSystem.getAudioInputStream(littleEndianFormat, ais);
}

пожалуйста, любое решение для передачи числа, что я пишу его в аудиофайл для воспроизведения аудио имени спасибо

1 Ответ

0 голосов
/ 08 мая 2019
@FXML
    private TextField numberscreen;

public void AudioPlay() {
        filestring = new File("src\\audio\\" + numberscreen.getText().trim() + ".wav");
        Media file = new Media(filestring.toURI().toString());

        mp = new MediaPlayer(file);

        mp.setOnReady(new Runnable() {
            @Override
            public void run() {
                System.out.println("Duration: " + file.getDuration().toMinutes());
                // display media's metadata
                file.getMetadata().entrySet().forEach((entry) -> {
                    System.out.println(entry.getKey() + ": " + entry.getValue());
                    mp.seek(Duration.millis(200));
                });
                mp.setOnEndOfMedia(new Runnable() {
                    @Override
                    public void run() {
                        mp.stop();
                        if (mp.isAutoPlay()) {
                            //Plays the subsequent files
                        }
                        return;
                    }
                });
                // play if you want
                mp.play();

            }
        });

    }

это решение, что мне нужно, я решил проблему, я нашел это сам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...