Jānis Čoders
unread,Oct 8, 2012, 3:03:33 AM10/8/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to android-...@googlegroups.com
For anyone who is trying to achieve something similar I can tell that I've found that PCM data goes through AudioFlinger.cpp function void AudioFlinger::PlaybackThread::threadLoop_write() .
I was successful at changing sound with the simplest gain algorithm (multiplying with some value) and the sounds where much louder.
Things I am still not sure of:
*) Are these really global changes (Audio samples, Custom app and Youtube audio is changed the way I wanted), but the only sound that isn't changed is the CLICK sound when clicking buttons, but maybe it's somehow integrated in to system.
*) What's the sampling rate of PCM in this function? 44100 Hz? Or it can be different for each call and must be checked?
Things I really would like to know:
*) What would be the best API implementation if I changed something in previously stated function. For example, I would like to somehow pass parameters or communicate with this function. Can't be done on SDcard, because system process doesn't have permissions to read/write this partition. I was only successful with reading a .txt file from /data/data folder, because system process can do that. But I guess a simple application will not have permissions to change that. So what would be a better communication protocol. Using binder? How to create an application api for this?
Thank you.