1

一直在为一个项目做一些研究,想知道如何将原始数据从我的 alsa 设备流式传输到 python/C++/java 应用程序。我一直在搞乱 alsaaudio,python 接口,但只能用麦克风做到这一点。我希望只捕获通过卡传来的所有数据(来自 vlc 等应用程序)

有人帮忙解决这个问题吗?

4

1 回答 1

1

有硬件可以将其输出重新路由回某些捕获设备,但大多数声音设备不支持这一点。

您可以加载snd-aloop 驱动程序并使用multi 插件创建一个虚拟设备,以将输出路由到实际设备和环回设备,但是如果两个设备的采样时钟正在运行,它们很可能会发散太长。

我建议使用文件插件创建一个虚拟设备,通过管道将数据复制到您的应用程序。将以下内容放入/etc/asound.conf或放入您的~/.asoundrc:

pcm.mydevice {
    type plug
    slave.pcm {
        type file
        slave.pcm "hw:0,0"   # or whatever your actual output device is
        file "|/some/where/myapplication"
    }
}

并告诉其他应用程序使用 ALSA 设备mydevice

于 2013-10-01T07:18:57.177 回答