计算机知识分享网

【android】adb命令控制设备的声音

获取到root权限
adb root
adb remount
获取设备音频流信息
adb shell dumpsys audio
获取当前设备各类音量大小
获取设备的电话音量 - STREAM_VOICE_CALL
获取设备的系统音量 - STREAM_SYSTEM
获取设备的铃音音量 - STREAM_RING
获取设备的音乐音量(多媒体音量 )- STREAM_MUSIC
获取设备的闹钟音量- STREAM_ALARM
adb shell media volume --show --stream 0 --get
adb shell media volume --show --stream 1 --get
adb shell media volume --show --stream 2 --get
adb shell media volume --show --stream 3 --get
adb shell media volume --show --stream 4 --get
 
"""
[v] will control stream=3 (STREAM_MUSIC)
[v] will get volume
[v] Connecting to AudioService
[v] volume is 0 in range [0..15]
"""
即当前STREAM_MUSIC是0,最小0,最大15
设置音量,示例:设置多媒体音量大小
adb shell media volume --show --stream 3 --set 10
 
"""
输出:
    [v] will control stream=3 (STREAM_MUSIC)
    [v] will set volume to index=10
    [v] Connecting to AudioService
"""
 
# 注:设置系统音量为0(stream=1)后,设备会进入静音模式,之后再修改其他模式音量会失败

在 Android 11 和 Android 12 中,媒体实用工具已不再存在。这就是为什么你会遇到错误, 因为你的 shell 无法在 PATH 环境变量中指定的位置找到该实用工具。 这些实用工具的命令已经被移到了一个名为 MediaSessionService 的服务中。要访问这些命令,需要使用 cmd 命令来调用这个服务。

adb shell cmd media_session
 
C:\adb>adb shell cmd media_session  volume  --stream 3 --get
[V] will control stream=3 (STREAM_MUSIC)
[V] will get volume
[V] Connecting to AudioService
[V] volume is 5 in range [0..15]
 
C:\adb>adb shell cmd media_session  volume --show --stream 3 --set 11
[V] will control stream=3 (STREAM_MUSIC)
[V] will set volume to index=11
[V] Connecting to AudioService

#Android