On Thu, Jun 30, 2011 at 4:44 PM, New Developer <[email protected]> wrote: > To Daniel > > Okay you obviously have a much better grasp than I do > > let me ask if we use your initial two cycle method > what about upping to 3 or 4 cycles ? > > then looking at your > >> 1 is play time, 0 is pause time. > >> <--1st cycle -><- 2nd cycle-> duration of thee cycle remains constant >> >> 111111111111111111111111... normal speed >> 111111000000111111000000... 2x slow down >> 111000000000111000000000... 3x slow down >> 110000000000110000000000... 5x slow down >> 100000000000100000000000... 10x slow down >> 000000000000000000000000... full stop >
Okay, this is becoming a bit off topic for the group now... Also I have wrongly calculated slowdowns in my example above. The slowdown factor is calculated (time of whole cycle / time of play), so from my examples: 111111000000111111000000... 12 / 6 = 2x slow down 111000000000111000000000... 12 / 3 = 4x slow down (I wrote 3) 110000000000110000000000... 12 / 2 = 6x slow down (I wrote 5) 100000000000100000000000... 12 / 1 = 12x slow down (I wrote 10). yours: 1111100000 1111100000 1111100000 1111100000 10/5 = 2x slowdown 1110000000 1110000000 1110000000 1110000000 10/3 = 3.33 x slowdown the number of segments is for illustrating purposes only... One segment is a unit of time, but how big is the unit is irrelevant for illustrating the ratio change. Try to imagine this play/pause periods rather than get bogged down with the number of 1s or 0s. What I was trying to say is that you need to look at ratios. If this is unclear, think of change from 0 to 1 as call of play(), from 1 to 0 as call of pause() and when there is no change (from 1 to 1 or from 0 to 0) there is no change... the time is passing by... 0, 200 and 100, 200 where only parameters for Timer, scheduling. Wait 0msec and kick off the task and then repeat it every 200msec for the first task and wait 100msec, kick off the task and then repeat it every 200msec. That gave you: TIME 000, task1: play() ( TIME 100, task2: pause() TIME 200, task1: play() TIME 300, task2: pause() ... The cycle is 200msec and every 100msec it flips, which means that the slowdown is 2. Swap the initial 100 for say 50, and don't touch 200 (cycle length) and you will get: TIME 000, task1: play() ( TIME 050, task2: pause() TIME 200, task1: play() TIME 250, task2: pause() ... The cycle is still 200msec, but after 1/4th of it, it pauses the movie for the rest of the cycle, so the slowdown is 200/50 = 4. I hope you get it now, what is left is to do the coding. Obviously it will depend on the method you use (Timer vs. Handler) and how you pass those values to influence the play time and pause time. Daniel -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

