You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android系统应用使用playback capture API无法捕获target SDK 28应用音频问题

问题根因

你遇到的是Android 10(API 29)playback capture API对低版本target SDK应用的默认策略差异问题,具体平台规则如下:

  • targetSdkVersion ≥ 29的应用:音频播放捕获权限默认处于允许状态,仅当应用在AndroidManifest.xml中显式配置android:allowAudioPlaybackCapture="false"时,才会禁止其他应用捕获自身音频
  • targetSdkVersion ≤ 28的应用:音频播放捕获权限默认处于禁止状态,必须在应用AndroidManifest.xml中显式配置android:allowAudioPlaybackCapture="true",才允许其他应用捕获自身音频

这也能解释你将目标应用target SDK升级到29后就能正常采集的现象:升级后目标应用触发了高版本SDK的默认允许规则,无需额外配置就放开了音频采集权限。

解决方案

方案1(修改目标应用配置)

如果可以调整目标应用的代码,不需要升级targetSdkVersion也能解决问题,只需要在目标应用Manifest的application节点下添加如下配置即可:

<application
    ...
    android:allowAudioPlaybackCapture="true">
    ...
</application>

方案2(系统层修改,仅适用于ROM定制场景)

如果目标应用是无法修改的第三方应用,作为系统应用开发者你可以修改framework层的音频捕获权限判定逻辑,强制对所有targetSdk<29的应用放开捕获权限,该方案需要你拥有系统ROM的编译定制权限。

内容的提问来源于stack exchange,提问作者HZhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:39:04