gpt4 book ai didi

Android 源码和 AudioRecord 多用途

转载 作者:搜寻专家 更新时间:2023-11-01 08:48:43 25 4
gpt4 key购买 nike

我目前正在构建一个 android 自定义 rom,它将仅由语音控制:所以我在 android 源代码中遇到了这部分代码:

// refuse 2 active AudioRecord clients at the same time except if the active input                         
// uses AUDIO_SOURCE_HOTWORD in which case it is closed.

https://android.googlesource.com/platform/hardware/libhardware_legacy/+/master/audio/AudioPolicyManagerBase.cpp 997行

我想知道这样做的目的是什么?硬件限制?

最佳答案

在回放场景中,多个并发客户端写入同一个输出是通过混合的方式处理的,这是在libaudioflinger中实现的。

要在录制场景中处理多个并发客户端,您需要某种分流器来负责使用来自驱动程序的音频缓冲区并将它们提供给所有客户端,并可能执行重采样、单声道/立体声转换,等。普通的 Android 实现根本没有分流器(这不是我最后一次看)。
当我在索尼工作时,我们在一些手机上使用了专有的分流器(Xperia P、U、和 Solo,IIRC),这使我们能够支持多个录制客户端。所以这是可能的,但这不是微不足道的。

关于Android 源码和 AudioRecord 多用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25725634/

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