サウンドを再生するアプリのリストを取得する[閉じる]

サウンドを再生するアプリのリストを取得する[閉じる]

現在(サウンドカードを使用して)サウンドを再生しているアプリケーションのリストを取得したいと思います。

私はいくつかの場所で検索しようとしましたが、成功しませんでした。どのメソッドでも可能です(bash、Javaなど)。私はディストリビューションに依存しないソリューションを望んでいますが、1つのディストリビューション(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

関連情報