i.MX8 Android Automotive12 上 dump HAL 层音频数据

1. 概述

在调试 Android 音频时候,在 HAL 层 dump 音频数据往往是最好的 debug 手段之一。本文介绍如何在 i.MX8 Android Automotive12 上 dump HAL 层音频数据。


2. HAL 代码

i.MX8 Android Automotive12 的 HAL 代码位于 android_build/vendor/nxp-opensource/imx/alsa/ 下,打开 tinyalsa_hal.cpp 代码,在 out_write 中,可以看到 HAL 会获取  property 变量  vendor.audio.dump 的值来决定是否 dump 音频数据,如下所示:



在 audio_dump 函数中,为保存音频数据的实际操作。首先会打开需要保存数据的文件,然后把数据写进去,最后关闭文件,函数如下所示:



默认代码保存数据的文件为  /data/out_src.pcm 和  /data/out_dst.pcm,用户可以根据自身情况进行修改:





3. 结论

总的来说,在默认代码下,启动设备,输入以下命令,可以实现把 HAL 层数据保存在文件中:

        setprop vendor.audio.dump true

        touch /data/out_src.pcm

        chmod 777  /data/out_src.pcm

        touch /data/out_dst.pcm

        chmod 777 /data/out_dst.pcm


参考文献

      《Android_User's_Guide.pdf》
      《Android_Quick_Start_Guide.pdf》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论