速度

速度

我正在构建一个基于 Linux 的音频流媒体,用于高品质音频。我有几个应用程序希望能够同时访问音频设备。(例如 shairport-sync、roon 和音乐播放器守护进程)

我发现混合ALSA 插件,可以将两个音频流混合到一个音频设备中。但是,混合要求我在定义 dmix 设备时设置采样率,并且我需要采样率根据从源输出的采样率而变化。

是否有允许在输入之间切换的插件?或者我在 dmix 中遗漏了什么?

答案1

你应该使用速度(汇率转换)或插头(自动转换)插件。请参阅alsa-lib 插件列表

配置应该在位于用户主目录 ( .asoundrc) 中的 alsa-lib 配置文件中完成。

速度

此插件转换流速率。输入和输出格式必须是线性的。

使用示例:

pcm.<name> {
        type rate
        slave <slave_name>
}

插头

该插件可根据要求转换频道、速率和格式。

使用示例:

pcm.<name> {
        type plug
        slave <slave_name>
}

使用 dmix 和自动转换插件的示例

# Overwrites 'default'
pcm.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer  {
    type dmix
    ipc_key 1024 # Any unique value for Interprocess Communication
    slave {
        pcm "hw:1,0"
        period_size 1024
        buffer_size 4096
        rate 44100
    }
}

相关内容