![]() |
1
3
在播放场景中,多个并发客户端写入同一输出是通过混合处理的,这在libaudiofringer中实现。
要在录制场景中处理多个并发客户端,您需要某种流分离器,它负责消耗来自驱动程序的音频缓冲区,并将其提供给所有客户端,还可能执行重采样、单声道/立体声转换等。
|
![]() |
2
0
这是任何人的猜测,为什么会成为政策。也许这是API将限制或抢先拥有麦克风输出的其他客户的决定的基础。 这真的重要吗?如果您想产生线程,并在麦克风的输出缓冲区中为每个线程提供原始PCM字节数组的拆分副本,您可以自由执行。 看看“音轨” here 对于玩家使用缓冲区的一些背景。 然后 执行 callback's here 在记录器的实现中,在缓冲区字节上添加拆分函数。然后在各自的线程中做任何你想做的事情。 |