Android调音开源,音频调试  |  Android 开源项目  |  Android Open Source Project

本文详细介绍了Android音频调试的两种方法:Tee Sink和media.log。Tee Sink是一个用于获取音频片段以供分析的调试功能,需要在编译时和运行时启用,适用于Android 7.x及以上版本。media.log是一个非阻塞的日志记录系统,旨在减少日志垃圾和性能干扰,适用于对时间要求严格的线程,如FastMixer和FastCapture。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍了一些与 Android 音频调试有关的提示和技巧。

Tee Sink

“tee sink”是一种 AudioFlinger 调试功能,仅在定制 build 中提供,用于获取最近音频的短片段以供日后分析。

这方便我们比较实际播放或录制的内容与预期内容。

出于隐私考虑,tee sink 在编译时和运行时均默认处于停用状态。如需使用 tee sink,您需要通过重新编译以及设置属性来启用它。完成调试后,请务必停用此功能;tee sink 在正式 build 中不能处于启用状态。

本部分中的说明适用于 Android 7.x 及更高版本。对于 Android 5.x 和 6.x,请将 /data/misc/audioserver 替换为 /data/misc/media。此外,您还必须使用 userdebug 或 eng build。如果您使用 userdebug 版本,请使用以下命令停用 verity:

adb root && adb disable-verity && adb reboot

编译时设置

cd frameworks/av/services/audioflinger

修改 Configuration.h。

取消备注 #define TEE_SINK。

重新构建 libaudioflinger.so。

adb root

adb remount

将新的 libaudioflinger.so 推送或同步到设备的 /system/lib。

运行时设置

adb shell getprop | grep ro.debuggable

确认输出是:[ro.debuggable]: [1]

adb shell

ls -ld /data/misc/audioserver

确认输出是:

drwx------ media media ... media

如果目录不存在,请按如下方式创建:

mkdir /data/misc/audioserver

chown media:media /data/misc/audioserver

echo af.tee=# > /data/local.prop

其中,af.tee 值是一个数字,在下文中有所说明。

chmod 644 /data/local.prop

reboot

af.tee 属性的值

af.tee 的值是一个介于 0 到 7 之间的数字,表示几个位的总和(每个功能一个位)。请查看位于 AudioF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值