Sorry I can't help you with codecs, maybe somebody else can. 2009/9/15 Andy <[email protected]>
> > Dianne Hackborn, thanks for your comments. > > Right, I know this about the ringer and media volumes. But what I > concern here is how to set the volume level gain in the real hardware > codec driver (instead of the "software" volume change if it is) when > the volume level is changed in the Android. Here is more observations > that I missed to mention in the case: > > 1. When playback a song and make changed the volume level in the > Android, I observe the media volume is using. For what I observed, the > "software" volume is somehow using as I mentioned before. > > 2. When not in music playback, I observe the ringer volume is using. > If I make changed the volume level in this case, I found the > corresponding hardware codec driver is called to set the volume gain > (i.e. I can see the corresponding codec registers changed by > alsa_amixer). However, what I found the LOGCAT is strange. The codec > driver is merely called to set zero volume level first (i.e. 0 value) > and then set back to its maximum value (i.e. 255 value out of the > maximum 255 level). > > As I need to ensure that the direct hardware codec driver is called > for audio quality concern, I need to be clear of what happens here or > what is going wrong with some settings in my case. > > What can I do? Thanks! > > > > > > On 9月16日, 上午4時07分, Dianne Hackborn <[email protected]> wrote: > > You aren't adjusting the overall volume level, you are adjusting the > volumes > > of one of the streams being mixed. Typically by default you are > adjusting > > the ringer volume, and if playing media you will be adjusting the media > > volume. > > > > > > > > > > > > On Tue, Sep 15, 2009 at 3:10 AM, Andy <[email protected]> wrote: > > > > > Hi all, > > > > > I found in my Android platform that everytime when I adjust the volume > > > level (i.e. press the volume key +/-), it seems a software volume > > > control scheme is used (Instead, I expect a direct function call to a > > > codec hardware driver, and changing audio gain in corresponding > > > registers). > > > > > I found this using the alsa_amixer to list out the volume change in a > > > "Master Volume" element. Here is what I figure out this following the > > > sequence below: > > > > > 1. After bootup, monitor the current volume level of the "Master > > > Volume" element using the alsa_amixer. The GET value is 255 out of the > > > maximum 255. > > > > > 2. Playback a song using the Android music player. > > > > > 3. Adjust the volume level in the Android to see if there is changed > > > in the "Master Volume" status. > > > > > 4. I found I can hear the change in the headphone audio output, but > > > the "Master Volume" element still keeps the value 255 no matter I > > > changed the volume from the lowest to the highest. > > > > > I would like to disable this software volume if it is really using and > > > use the hardware. Does anyone have any idea about what is going on in > > > my case? Thanks!!! > > > > -- > > Dianne Hackborn > > Android framework engineer > > [email protected] > > > > Note: please don't send private questions to me, as I don't have time to > > provide private support, and so won't reply to such e-mails. All such > > questions should be posted on public forums, where I and others can see > and > > answer them.- 隱藏被引用文字 - > > > > - 顯示被引用文字 - > > > -- Dianne Hackborn Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
