背景:导航混音有媒体音量和导航音量调节,此时调节导航音量条,但开启的导航地图中的音量无变化;
分析:通过抓取的日志中有如下:
05-09 18:50:21.092 436 8729 D AudioTrack: set(): streamType 3, sampleRate 44100, format 0x1, channelMask 0x1, frameCount 22578, flags #0, notificationFrames 0, sessionId 97, transferType 0, uid 10024, pid 6725
05-09 18:50:21.093 436 8729 D AudioTrack: set(): Building AudioTrack with attributes: usage=12 content=1 flags=0x800 tags=[]
05-09 18:50:21.093 436 8729 D AudioTrack: failed to open /proc/6725/cmdline (No such file or directory)
05-09 18:50:21.094 436 8729 D AudioTrack: pid=436, process_name = /system/bin/mediaserver
05-09 18:50:21.094 436 8729 D AudioTrack: binder call pid=436, name=/system/bin/mediaserver,
05-09 18:50:21.094 436 8729 D AudioTrack: show clientName,callingName:/system/bin/mediaserver
中有AudioTrack Failed to open 的日志,说明此时缺少了对应的权限赋予;
修改如下:
diff --git a/android/frameworks/av/media/mediaserver/mediaserver.rc b/android/frameworks/av/media/mediaserver/mediaserver.rc
index 13d3924..7076c3a 100755
--- a/android/frameworks/av/media/mediaserver/mediaserver.rc
+++ b/android/frameworks/av/media/mediaserver/mediaserver.rc
@@ -4,6 +4,6 @@ on property:init.svc.media=*
service media /system/bin/mediaserver
class main
user media
- group root audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm
+ group root audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm readproc
修改之后验证导航音量的调节后会随着音量条的变化而变化;