在火线设备准备就绪之前启动应用程序

在火线设备准备就绪之前启动应用程序

要使用需要的音频应用程序jackd-firewire,我必须按以下顺序启动:

  1. 启动硬件接口(在我的例子中是 Phonic 混合控制台)
  2. 启动杰克
  3. 启动音频应用程序

任何其他命令都会使音频应用程序抱怨“没有插孔”,所以我必须关闭它,然后运行上面的序列。

当硬件接口关闭时,该/dev/fw1设备根本不存在。创建/dev/fw1没有mknod帮助 - jackd 不会使用这样的“死”设备启动。

与内置声卡相比

这与内置声卡形成对比,在内置声卡中,当计算机运行时 /dev-device 始终存在。

与 Pulseaudio 对比

即使将pulseaudio配置为使用火线输出也允许我关闭并重新打开硬件接口。声音会停止并恢复,并且应用程序不会抱怨(我只用 google-chrome 播放电影进行了测试)。

乌德夫

我知道如何使用udev来启动jackd /dev/fw1。但我仍然必须退出音频应用程序,以防我忘记在启动应用程序之前启动硬件 ifc。

我的问题

有没有办法让应用程序相信它可以连接到 jackd,即使 jackd 没有看到火线设备?理想情况下,我希望能够在应用程序运行时断开硬件连接,除了听不到声音之外,不会产生任何不良影响。

答案1

JACK通常配置为使用特定的音频设备,
如果音频设备不可用,JACK无法启动
如果JACK正在运行并且设备断开连接,JACK将崩溃

JACK 可以在驱动程序选项更改为“虚拟”的情况下启动,并且无需音频设备即可运行

我知道如何使用 和 手动将其他音频设备添加到 JACK alsa_in,并且alsa_out可以使用类似的命令为输入和输出手动添加火线设备。但是,在断开设备之前,必须删除任何手动添加的与火线设备的连接,只有这里的增益不需要停止 JACK

考虑到您更喜欢在 Pulseaudio 中使用混音器,您可能会更好:

  • 保持混音器在 Pulseaudio 中运行;
  • 使用虚拟驱动程序运行 JACK;
  • 使用 Pulseaudio JACK Sink 和 Pulseaudio JACK Source 连接将 JACK 中的应用程序连接到 Pulseaudio 中的混音器
    (可能需要安装软件包pulseaudio-jack才能获取接收器和源连接)

相关内容