hi
I've a audio player application using OpenSL ES. when the low latency request (AUDIO_OUTPUT_FLAG_FAST flag) have been accpeted by AudioTrack and AudioFlinger, I found that a noise would accur when adjusting volume. This is because the way change volume directly, every level jump happened between two sample point in pcm file while each volume change occur.
mMixer->setParameter(name, AudioMixer::VOLUME, AudioMixer::VOLUME0, &vlf);
While other app without OpenSl ES have not such issue. Their volume changing is ramped , that means volume changed smoothly with more sample point.
mMixer->setParameter(name, AudioMixer::RAMP_VOLUME, AudioMixer::VOLUME0, &vlf);
So, in a word I found OpenSL ES would trigger noise when adjusting volume for low latency .
My questions :
1. Did google guys know this ? or am i missing something or making some mistake?
2. We know android audio latency is huge. So if Fast Track is one of the solutions, why do not apply it in AudioRecord and AudioTrack instead of only OpenSL ES.
Thank you .