Código
//Creo el timer que entre en el metodo a los 250ms y agrego el evento ActionListener. //maxbyte es el numero total de bytes que tiene la cancion maxByte=(int)reproducir.getTamanoBits(); //changeByte es el numero de bytes que tiene conforme avanza la cancion changeByte=reproducir.getProgresoActual(); //barraAvance es el Jslider y le mando como maximo maxByte barraAvance.setMaximum(maxByte); //Y para que se mueva con ChangeByte y se actualiza cada vez que entra al timer barraAvance.setValue(changeByte); //cuando el numero total de bytes es igual a los bytes que transcurren es que se termino la cancion y por lotanto le doy a siguiente cancion if(maxByte==changeByte){ numCancion++; if(!listaDoble.vacia()&&numCancion<=listaDoble.cantidad()){ if(btnAleatorio.isSelected()){ numCancion=rand(contSong); } cambiarCancion(); }else numCancion--; } } }); tmpActualizar.start();
lo que se me ocurre hacer en el evento change del Jslider obtener el getValue() y ese valor igualale a changeByte
pero change byte lo obtengo de aqui y no se como hacerlo x ese camino.!!
Código
// este metodo se actualiza periodicamente pero no lo puedo actualizar porque se actuliza periodicamente y ademas es un metodo que se implementa de la clase BasicPlayer que es la libreria que estoy usando float progressUpdate = (float) (bytesread * 1.0f / tamanoBytes * 1.0f); progressNow = (int) (tamanoBytes * progressUpdate); } public int getProgresoActual(){ return progressNow; }
Gracias Saludos..!!