In my musical instrument tuner app I stream audio data to my analysis code with an AudioRecord.read() method which runs in a separate thread to decouple it from the UI. The AudioRecord was set up with a sample rate of 22050 and a 16384 samples. I read the data in chunks of 1024 samples at a time. This all works perfectly on every Android device I have checked - except for the Moto G. On that device I have been able to verify that the data is being corrupted by AudioRecord.read() returning some data that was returned earlier. 8192 samples earlier, to be exact. This causes a phase jump in the audio data, and therefore an unstable tuning indication. The data is being read into a direct buffer.
Does anyone know why the Moto G is doing this? -- 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 --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

