首页 > 解决方案 > 如何复制 alsa 音频流?

问题描述

我只有一个设备,如下所示(ps 第二个只是一个虚拟设备) -

# 播放 -l

**** 播放硬件设备列表 ****

卡 0:tlv320aic32x4 [tlv320aic32x4],设备 0:tlv320aic32x4-hifi tlv320aic32x4-hifi-0 [] 子设备:1/1 子设备 #0:子设备 #0

卡 0:tlv320aic32x4 [tlv320aic32x4],设备 1:e001d000.i2s-dummy-codec-1 [] 子设备:1/1 子设备 #0:子设备 #0

我已经有一个应用程序使用这个设备来传输音频(所以任何进入麦克风的音频输入都会被流出)。现在我必须添加另一个应用程序,该应用程序也使用此音频设备的相同麦克风。所以这会导致音频设备的争用。我怎样才能避免这种争论?

我在堆栈溢出中看到了另一篇文章,其中谈到了“键入 multi”alsa 模块以向两个不同的设备播放声音”。但我的问题不同。我没有两个不同的设备。我只有一个设备。

是否可以在 alsa 中复制音频流?这样可以避免这种争用,并且各种应用程序可以继续使用来自单个音频设备的音频信息。

标签: c++11audioembeddedembedded-linuxalsa

解决方案


推荐阅读