You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何将Android设备内部音频设为麦克风输入?配置遇阻求助

Android 内部音频转麦克风输入(Remote Submix In配置问题)

设备环境

  • 设备:Galaxy A24(SM-A245N,Android 13)
  • Root权限:已获取
  • Magisk版本:v27.0
  • 已装模块:AML(Audio Modification Library,Ryuki Mod)

已尝试的配置操作

  1. 修改audio_policy.conf:在inputs primary devices下添加AUDIO_DEVICE_IN_REMOTE_SUBMIX
  2. 修改优先级更高的audio_policy_configuration_sec.xml
    • attachedDevicesdevicePort中添加Remote Submix In;
    • 更新route sink="primary-in",仅保留"Remote Submix In"并移除其他输入选项。

当前问题结果

修改后通过dumpsys media.audio_policy检查,输入设备数量变为0,Remote Submix In未成功启用(修改前为后置麦克风)。

问题解答

1. 是否可完全通过配置文件激活Remote Submix In?

不行。Remote Submix In是虚拟音频输入设备,单纯修改音频策略配置文件无法完成激活——系统需要音频服务的初始化绑定、权限校验等步骤,仅改配置会导致系统无法识别设备,出现输入设备数为0的情况。

2. Remote Submix In似乎需要准备步骤,如何在ADB shell中操作?

先确保配置文件修改正确,再通过Root权限的ADB shell执行以下操作:

  • 重启音频服务,加载新配置:
    su -c setprop ctl.restart audioserver
    
  • 手动初始化Remote Submix输入设备(不同设备节点名称可能有差异):
    # 方法1:通过音频策略指令启用
    su -c media.audio_policy set-input-remote-submix enable
    # 方法2:通过tinymix控制节点启用
    su -c tinymix 'Audio Input Remote Submix' 1
    
  • 验证设备状态:
    dumpsys media.audio_policy | grep "Remote Submix"
    

如果tinymix找不到对应节点,先用tinymix | grep Submix查找正确的节点名称。

3. 若系统应用使用Remote Submix In,能否在其他应用中生效?(比如切换应用时输入能否持续?)

可以,但需要满足两个条件:

  • 在音频策略配置中,将Remote Submix In设为全局可用的默认输入设备,而非绑定单一应用;
  • 切换的目标应用需持有RECORD_AUDIO权限,且未强制指定物理麦克风。如果出现中断,可通过AML模块的全局音频路由规则覆盖应用的自定义路由设置。

4. 是否还有其他需考虑的步骤或配置?(不限于上述方法)

还有几个关键环节:

  • AML模块配置:打开AML模块设置,在「音频输入路由」中设置Remote Submix In为默认输入,AML会自动处理不同应用的路由冲突,避免物理麦克风抢占;
  • 权限补充:给目标应用授予RECORD_AUDIO权限,同时给系统音频服务添加必要权限:
    su -c pm grant com.android.mediarecorder android.permission.MODIFY_AUDIO_SETTINGS
    
  • 替代方案:如果手动配置困难,可直接使用Magisk模块如Audio RouterInternal Audio Capture,这类模块已封装Remote Submix的初始化逻辑,无需手动修改配置文件;
  • SELinux适配:三星Galaxy A系列设备的SELinux可能限制虚拟音频设备,可先用su -c setenforce 0临时关闭测试,确认有效后添加SELinux规则到Magisk模块实现永久生效。

内容的提问来源于stack exchange,提问作者양동국

火山引擎 最新活动