Я пытаюсь реализовать эффект затухания в моем mp3-плеере.
Я использую
FloatControl volumeControl = (FloatControl) line.getControl (FloatControl.Type.MASTER_GAIN);
потому что FloatControl.Type.VOLUME выдает исключение (Unavaliable Control), я не знаю почему.
Мне нужна помощь с алгоритмом, потому что он не работает нормально.
Вот код:
public class FloatControlFader
{
public static void fadeIn(final FloatControl control, final float from,
final float to, final int seconds)
{
final float vps = ((to-from) / (seconds*10));//Volume incrased/100millisecond
control.setValue(from);
Thread t = new Thread(new Runnable(){
public void run() {
for(int i=0; i < seconds*10; i++)
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ex)
{
}
System.out.println(control.getValue()); //for DEBUG
control.setValue(control.getValue() + vps);
}
}
});
t.start();
}
}
Буду признателен за любую помощь, спасибо!