我正在开发运行Android 4.2.1的自定义主板。除了正确的音频路由之外,我几乎所有的东西都在工作。
我有一个音频编解码器(WM8960连接在I2S总线上),它可以很好地服务于扬声器,内置麦克风,耳机和耳机-麦克风。与以往一样,硬件抽象层在audio_hw.c中通过tinyAlsa实现,在整个系统中运行良好。
还有另一个连接了GSM调制解调器音频的音频设备(实际上是USB声卡)。ALSA检测到它没有问题,我可以使用a aplay/a记录在内核级别使用它。
现在,我需要在建立音频呼叫时设置适当的路由--这意味着我必须将声音从麦克风播放到第二个音频设备,反之亦然。有人能给我一个建议或例子如何使用tinyAlsa应用程序接口处理这个问题吗?
问候Jan
发布于 2019-01-13 16:12:12
我认为你可以在Audio HAL中解决这个问题。
假设第二个音频设备是第二个音频卡
当检测到呼叫用例时,将播放声卡更换为第二个声卡。
例如,如果是Card0 - WM8960;Card1 - USB声卡
在pcm_open接口中更改卡号
pcm_open(0,..)更改为pcm_open(1,..)
在调用pcm_open之前,您可能还需要设置相应的混音器命令。
https://stackoverflow.com/questions/16645945
复制相似问题