Bueno miren tengo creado el método Opened y progress que son implementados a fuerza si queremos saber el estado de la canción y su proceso.
en el método opened obtengo una vez abierta la canción el largo en bytes que tiene. codigo:
Código
if (properties.containsKey("audio.length.bytes")) { } }
en progress atrapo el progreso total de la cancion tanto en % como en bytes codigo:
Código
float progressUpdate = (float) (bytesread * 1.0f / bytesLength * 1.0f); int progressNow = (int) (bytesLength * progressUpdate); }
mi problema radica en que hay algunas veces que no da el tiempo para llamar nuevamente al método progress por lo cual tengo un desfase de bytes entre el largo de bytes dado por opened y progress me gustaría saber como podría hacerle para que cuando los bytes dados por progress llege a ser casi iguales a los bytes dados por opened pueda mandar una acción por ejemplo poner mostrar el mensaje "termine de reproducirme", con casi iguales me refiero a una diferencia de por ejemplo 300 bytes