i have small project in middel of the window textfield when i put the number i need to call by audio what number i write it on texfield for example i wrote number : 1 enter and the audio is working for one time is play agian when i wrote the same number or another number and stop it etc...
i have searching the code what is responsibility for like this project but i just a found play audio
//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);
}
please any solution for passing the number what i write it to audio file to play audio name thanks
@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();
}
});
}
this the solution what i need it i solved the problem i found it by myself