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();
}
}
助けていただければ幸いです、ありがとう!