Federhalter
Mitglied
Hallo zusammen,
ich kann eine Audiodatei abspielen lassen und zwar eine wav-Datei und diese endlos loopen. Das Problem ist nun, dass ich zwar die Lautstärke verändern kann, aber dass der Maximalwert bei 6,032 osä liegt während das Minimum bei -80 steht.
Ich möchte nun erreichen, dass die Skala von 0 bis 100 geht und sich die Lautstärke dementsprechend verhält.
Hier mal der Code:
und der Slider
Grundsätzlich besteht nämlich das Problem das man -80 kaum noch hört, während zwischen 0 und ca 6 enorme Ausschläge zu verbuchen sind.
ich kann eine Audiodatei abspielen lassen und zwar eine wav-Datei und diese endlos loopen. Das Problem ist nun, dass ich zwar die Lautstärke verändern kann, aber dass der Maximalwert bei 6,032 osä liegt während das Minimum bei -80 steht.
Ich möchte nun erreichen, dass die Skala von 0 bis 100 geht und sich die Lautstärke dementsprechend verhält.
Hier mal der Code:
Java:
public void playBackgroundMusic() {
File music = new File("res/Sounds & Music/mainmenumusic.wav");
try {
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(music));
volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
clip.loop(Clip.LOOP_CONTINUOUSLY);
} catch (LineUnavailableException | IOException | UnsupportedAudioFileException e) {e.printStackTrace();}
}
public void setVolume(float value) {
volume.setValue(value);
}
und der Slider
Java:
slider.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent ce) {
setVolume(slider.getValue());
}
});
Grundsätzlich besteht nämlich das Problem das man -80 kaum noch hört, während zwischen 0 und ca 6 enorme Ausschläge zu verbuchen sind.