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
-~----------~----~----~----~------~----~------~--~---

Reply via email to