Chinaunix首页 | 论坛 | 博客
  • 博客访问: 568703
  • 博文数量: 185
  • 博客积分: 4031
  • 博客等级: 上校
  • 技术积分: 1591
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-27 19:45
文章分类

全部博文(185)

文章存档

2011年(14)

2010年(63)

2009年(108)

我的朋友

分类:

2011-06-29 11:20:18

1.关于音量
packages/apps/Settings/src/com/android/settings/RingerVolumePreference.java

设置音量的函数是            
audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION,
                    audioManager.getStreamVolume(AudioManager.STREAM_RING), 0);


2.
./frameworks/base/media/java/android/media/AudioManager.java

3.AudioManager里有个FLAG_SHOW_UI,是否表示显示音量的toast
 Show a toast containing the current volume.
FLAG_SHOW_UI

5
./frameworks/base/media/java/android/media/IAudioService.aidl:33:    void setStreamVolume(int streamType, int index, int flags);
./frameworks/base/media/java/android/media/AudioService.java:465:    public void setStreamVolume(int streamType, int index, int flags) {


setStreamMute


6.AudioManager.setStreamVolume
        ------>IAudioService.setStreamVolume[./frameworks/base/media/java/android/media/AudioService.java]
            ------>setStreamVolumeInt        
                        ------> sendVolumeUpdat:::广播了事件AudioManager.VOLUME_CHANGED_ACTION

7.关于系统音量的设置jni
./frameworks/base/core/jni/android_media_AudioSystem.cpp

接着调用库

./frameworks/base/media/libmedia/AudioSystem.cpp
./frameworks/base/libs/audioflinger/AudioPolicyService.cpp
./frameworks/base/libs/audioflinger/AudioPolicyManagerBase.cpp




./frameworks/base/media/java/android/media/AudioService.java
./frameworks/base/libs/audioflinger/AudioPolicyService.cpp
./frameworks/base/media/libmedia/AudioSystem.cpp
./frameworks/base/libs/audioflinger/AudioFlinger.cpp
./frameworks/base/libs/audioflinger/AudioMixer.cpp

阅读(2176) | 评论(0) | 转发(0) |
0

上一篇:android wifi 分析

下一篇:ti ubifs fastboot

给主人留下些什么吧!~~