Alsa 无法将记录传输到播放,资源繁忙 EDIROL UA-101

Alsa 无法将记录传输到播放,资源繁忙 EDIROL UA-101

我正在尝试在同一个 USB 声卡上同时获取播放和捕获流。截至目前,我的asoundrc文件如下所示:

pcm.!default {
    type plug
    slave {
        pcm ua101
    }
}

pcm.ua101 {
    type hw
    card 1
    device 0
}

ctl.ua101 {
    type hw
    card 1
    device 0
}

aplayarecord分别工作正常,但在尝试通过管道传输arecord到时会弹出资源繁忙错误aplay

此行为可以在 C 代码中重现。 Alsa 有办法初始化双工流吗?

作为替代解决方案,是否可以在 .asoundrc 中创建两个不同的设备,一个用于播放,一个用于捕获,并以这种方式实现系统?

答案1

Alsa 本身可以很好地处理双工流,我尝试使用我的 USB 声卡:

arecord -D plughw:CARD=UA25EX | aplay -D plughw:CARD=UA25EX -

就可以了(没有什么特别的asoundrc)。

因此,我假设您的 USB 声卡出于某种原因只允许播放或录音,但不能同时允许两者。

相关内容