Android系统开机有三处设置静音的地方
正常开机或恢复出厂设置重启,
上层有三次对 setmasterMute 的操作,
///1
01-01 08:00:03.485293 2355 2355 E AudioFlinger: AudioFlinger::loadHwModule_l —enter
01-01 08:00:03.519069 2355 2355 E AudioFlinger: zhangcui, getMasterMute:0
01-01 08:00:03.519459 2355 2355 E AudioFlinger: zhangcui, mMasterMute:0
///2
05-08 19:30:57.433046 2551 2551 D AudioService: readUserRestrictions–masterMute:%dfalse
05-08 19:30:57.434518 2551 2551 D AudioService: java.lang.Throwable
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.audio.AudioService.readUserRestrictions(AudioService.java:1458)
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.audio.AudioService.(AudioService.java:821)
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.audio.AudioService$Lifecycle.(AudioService.java:664)
05-08 19:30:57.434518 2551 2551 D AudioService: at java.lang.reflect.Constructor.newInstance0(Native Method)
05-08 19:30:57.434518 2551 2551 D AudioService: at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.SystemServiceManager.startService(SystemServiceManager.java:98)
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.SystemServer.startOtherServices(SystemServer.java:1301)
05-08 19:30:57.434518 2551 2551 D AudioService: at com.android.server.SystemServer.run(SystemServer.java:437)
05-08 19:30:57.434845 2355 2405 E AudioFlinger: AudioFlinger::setMasterMute, muted:0
05-08 19:30:57.466917 2355 2405 D AudioFlinger: #00 pc 00013d65 /system/lib/libaudioflinger.so (android::AudioFlinger::setMasterMute(bool)+44)
05-08 19:30:57.466966 2355 2405 D AudioFlinger: #01 pc 0003b2b3 /system/lib/libaudioclient.so (android::BnAudioFlinger::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+3710)
05-08 19:30:57.466992 2355 2405 D AudioFlinger: #02 pc 000360f9 /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+72)
05-08 19:30:57.467018 2355 2405 D AudioFlinger: #03 pc 0003d80d /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+404)
///3
01-01 08:53:06.519075 2551 2551 D AudioService: readUserRestrictions–masterMute:%dfalse
01-01 08:53:06.519580 2551 2551 D AudioService: java.lang.Throwable
01-01 08:53:06.519580 2551 2551 D AudioService: at com.android.server.audio.AudioService.readUserRestrictions(AudioService.java:1458)
01-01 08:53:06.519580 2551 2551 D AudioService: at com.android.server.audio.AudioService.readAudioSettings(AudioService.java:3191)
01-01 08:53:06.519580 2551 2551 D AudioService: at com.android.server.audio.AudioService.access
10200
(
A
u
d
i
o
S
e
r
v
i
c
e
.
j
a
v
a
:
172
)
01
−
0108
:
53
:
06.51958025512551
D
A
u
d
i
o
S
e
r
v
i
c
e
:
a
t
c
o
m
.
a
n
d
r
o
i
d
.
s
e
r
v
e
r
.
a
u
d
i
o
.
A
u
d
i
o
S
e
r
v
i
c
e
10200(AudioService.java:172) 01-01 08:53:06.519580 2551 2551 D AudioService: at com.android.server.audio.AudioService
10200(AudioService.java:172)01−0108:53:06.51958025512551DAudioService:atcom.android.server.audio.AudioServiceAudioServiceBroadcastReceiver.onReceive(AudioService.java:6565)
01-01 08:53:06.519580 2551 2551 D AudioService: at android.app.LoadedApk
R
e
c
e
i
v
e
r
D
i
s
p
a
t
c
h
e
r
ReceiverDispatcher
ReceiverDispatcherArgs.lambda$getRunnable
0
(
L
o
a
d
e
d
A
p
k
.
j
a
v
a
:
1391
)
01
−
0108
:
53
:
06.51958025512551
D
A
u
d
i
o
S
e
r
v
i
c
e
:
a
t
a
n
d
r
o
i
d
.
a
p
p
.
−
0(LoadedApk.java:1391) 01-01 08:53:06.519580 2551 2551 D AudioService: at android.app.-
0(LoadedApk.java:1391)01−0108:53:06.51958025512551DAudioService:atandroid.app.−
L
a
m
b
d
a
Lambda
LambdaLoadedApk
R
e
c
e
i
v
e
r
D
i
s
p
a
t
c
h
e
r
ReceiverDispatcher
ReceiverDispatcherArgs$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
01-01 08:53:06.519580 2551 2551 D AudioService: at android.os.Handler.handleCallback(Handler.java:873)
01-01 08:53:06.597203 2355 2355 D AudioFlinger: #00 pc 00013d65 /system/lib/libaudioflinger.so (android::AudioFlinger::setMasterMute(bool)+44)
01-01 08:53:06.597275 2355 2355 D AudioFlinger: #01 pc 0003b2b3 /system/lib/libaudioclient.so (android::BnAudioFlinger::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+3710)
01-01 08:53:06.597307 2355 2355 D AudioFlinger: #02 pc 000360f9 /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+72)
01-01 08:53:06.597348 2355 2355 D AudioFlinger: #03 pc 0003d80d /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+404)
01-01 08:53:06.597384 2355 2355 D AudioFlinger: #04 pc 0003d59f /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+106)
…
01-01 08:53:09.512554 1384 1384 D fastRvc : (logo_thread)[INFO][main:189]fastrvc main exit
分别是以下三个地方:
1。
AudioFlinger中的loadHwModule_l 的时候,有一处 setMasterMute,
但是这个值是从audio hal 层get 出来的【dev->getMasterMute(&mm)】,上面把get 出来的值传递下去
2。开机启动audioservice的时候,init 调用readUserRestrictions的时候,触发setMasterMute
3。开机启动audioservice的时候,readAudioSettings调用readUserRestrictions的时候,触发setMasterMute