gpt4 book ai didi

Android USB 音频作为主要音频

转载 作者:行者123 更新时间:2023-12-03 01:11:24 25 4
gpt4 key购买 nike

我正在构建基于 Qualcomm sdm845 SoC 的 Android 设备。对于音频,我使用简单的 USB 音频编解码器。然而,在 sdm845 SOM 模块随附的开发套件中,他们使用了 Qualcomm WCD9340 编解码器。我的 USB 音频编解码器实际上是一个 Teensy 3.2 (NXP Kinetis Cortex-M4) 分线器,连接了 I2S DAC 和 I2S 麦克风。当我将此设备连接到开发套件的 USB 端口(运行自定义 Android 9 BSP)时,我通过 USB 获得音频 I/O。因此,HAL 支持就在那里。
然而,在我带有相同 sdm845 SOM 的定制 PCB 上,USB 音频设备不会输出任何声音。在 Linux 内核级别上,在 adb shell 上使用 tinyplay 和 tinycap 可以正常工作。所以硬件和内核都很好,问题可能出在Android HAL上,那可能还在期待WCD9340。
我正在寻找在 Android HAL 中某个地方完成 Android 和 Linux 设备之间的实际映射,或另一种强制 USB 声卡成为主要输出设备的方法。
设备配置中有一个“TARGET_USES_AOSP_FOR_AUDIO”选项,有效地删除了所有高通特定的音频实现,但这也没有给我任何结果。奇怪,因为我已经成功地使用了相同的 USB 音频编解码器和在 Hikey960 上构建的 Vanilla AOSP。
有人有这方面的经验吗?

最佳答案

对于它的值(value),这就是我最终解决这个问题的方式。压倒性地没有做好生产准备,但它完成了工作:我修改了 WCD9340 内核驱动程序代码中的 Slimbus 读写调用,使它们基本上变成了 stub 。在 WCD9340 的 stub 初始化之后,USB 音频编解码器接管并正常执行音频 I/O。

关于Android USB 音频作为主要音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63598470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com