Android 11/12设备音频控制新方式解析

12次阅读
没有评论

解决方案:Android 11 / 12 设备音频控制方式调整

背景与问题描述

随着Android 11和12版本的发布,“media”工具命令在设备上不再可通过,我们可能会遇到如“/system/bin/sh: media: inaccessible or not found”这样的错误提示。这是因为相关功能已经被转移到了MediaSessionService服务中。

解决方案与实践

从官方文档(Android documentation)可以看到,这些命令目前应该通过cmd命令调用MediaSessionService进行访问。其基本格式如以下示例所示:

adb shell cmd media_session <subcommand>

具体使用步骤如下:
1. 使用adb shell cmd media_session来获取媒体相关服务的子命令帮助信息。
2. 例如要调整音量,可以执行:

sh
adb shell cmd media_session volume --set 10

其中,10是想要设置的新音量值。这里需要注意的是,不同的音频流对应的音量范围各不相同。官方推荐的音频流索引范围为从025之间。

  1. 要查看当前音量状况可以尝试:

sh
adb shell cmd media_session volume --get

若需要调试和追踪命令执行过程,还可以进一步使用如下子命令来展示相关调试信息:

adb shell cmd media_session volume --show --stream 3 --set 11

以上提供的方案适用于大部分的音量控制需求。如果有其他详细的音量调整命令和场景,请参考文档进行配置。

注意事项

  • 确保通过adb shell cmd media_session来正确调用相关的子命令。
  • 音频流类型的选择必须遵循官方文档的指导,避免索引错误。

总之,对于Android 11及更高版本中的音量控制指令更改,开发者需要使用cmd media格式来确保执行正确的音频命令。

正文完