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次,發文人進小黑屋喔~

評論