我正在为Maemo/Meego制作一个移动应用程序,Maemo使用Pulseaudio。我想播放一个mp3到呼叫者(并在执行此操作时取消麦克风,而不是听呼叫者,应该在后台完成所有操作),为此,我必须从某个某个某个(如果可能的话,所有人)重定向音频输出)应用程序,将其伪造为输入,然后使电话应用使用。

在我的Ubuntu PC上,我使用了Pavucontrol。然后,我创建了一个无效的水槽,然后:

Audio Output (from Amarok) --> to NULL Output 
Skype Input <-- NULL Output
Skype Output --> NULL

它起作用了,阿马罗克(Amarok)播放了音乐,它正在流向Skype,没有向我播放,我什么也没听到有关所有过程的消息。问题是; A)Maemo没有Pavucontrol。 b)即使它确实(或者我打包了),这也不是好的,因为它是一个唯一的gui应用程序,我必须在背景上完成所有这些事情,而无需任何用户输入。 (平均:CLI或API)

在FreeNode #pulseaudio上被问及这一点,一个乐于助人的人说:“它几乎可以通过PACTL或PACMD完成,您想要的命令是移动输入和Move-Source-Output,但是您需要了解设备和流索引。”因此,PavuControl似乎只是GUI,PACTL和PACMD是真正的交易,最重要的是,它们是CLI应用程序。

我真的很感谢他,但我对“ pactl”,“ pacmd”,“移动 - 输入”或“设备/流索引”一无所知,所以我需要一个非常简化的手册页,或类似的应用程序,一个单线命令(两个?整页命令?

有帮助吗?

解决方案

手册 pactlpacmd 如果您对其进行搜索,就很容易获得。我在这里找到了它们:

帕克

PACMD(脉冲-CLI-Syntax)

我认为您对以下摘录感兴趣 pactl 手动的:

MOVE-SINK输入ID接收器:将指定的播放流(由其数值索引识别)移至指定的接收器(由其符号名称或数值索引标识)。

你应该能够使用 pactl list sink-inputs, pactl list source-outputs, pactl list sinks, , 和 pactl list sources 结合一些 grep 和/或 sed 或以编程性确定正确的流和下沉的性质。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top