获取正在播放声音的应用程序列表

获取正在播放声音的应用程序列表

我想获取当前正在播放声音(使用声卡)的应用程序列表。

我尝试在很多地方进行搜索,但都没有成功。任何方法都可以(bash、Java 等)。我想要一个独立于发行版的解决方案,但也赞赏针对一个发行版(例如 Ubuntu)的特定解决方案。

声音的数据目前并不重要。我只想要一个应用程序正在播放声音的事实。如果需要的话,该程序也可以具有 root 权限。

答案1

解决方案对于Ubuntu,适用于pulse..因此很可能适用于大多数使用的操作系统pulse

pacmd list-sink-inputs

这里是一个用于alsa

#!/bin/sh
for i in /proc/[0-9]*/fd/*
do
    var="$(readlink $i)"
    if test x"$var" != x"${var#/dev/snd/pcm}"
    then
        echo $i
    fi
done

相关内容