AudioDateien - Lautstärke mit JSlider regeln

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:

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.
 

Neue Beiträge

Zurück