however try to understand precisely big idea implemented:
synchronized void updateAudio(int tstates, int value) { tstates = tstates - audiotstates; audiotstates += tstates; float time = tstates; synchronized (beeper) { if (time + timeRem > spf) { level += ((spf - timeRem) / spf) * value; time -= spf - timeRem; lastLevel = (lastLevel + level) >>> 1; beeper[bufp++] = lastLevel; } else { timeRem += time; level += (time / spf) * value; return; } while (time > spf) { lastLevel = (lastLevel + value) >>> 1; beeper[bufp++] = lastLevel; time -= spf; } } // calculamos el nivel de sonido de la parte residual de la muestra // para el prуximo cambio de estado level = (int) (value * (time / spf)); timeRem = time; }
Now, can you write the own implementation?
You've got a real device why poking with emulator?
ReplyDeletereal device needs some improvements :)
ReplyDeleteon emulators, this implementation IMHO is cleanest and simplest...
tiny and algorithmically interesting...
ideas from and into what modulations?