端末から現在のスピーカーの出力音量レベルをどのように取得できますか?

端末から現在のスピーカーの出力音量レベルをどのように取得できますか?

たとえば、YouTubeやオーディオを再生する他のプログラムを含むブラウザが開いていて、現在のオーディオレベル(0〜100%の数字)を取得しようとします。より正確には、システムに設定されているオーディオレベルを表示するコマンドに答えたことがありますが、オーディオを再生するアプリケーションでオーディオレベルを見たいと思います。

答え1

システムがパルスオーディオを使用している場合は、pacmdを使用して再生中のアプリケーションを一覧表示できます。

ここではFirefoxのみが再生されており、ボリュームは54%です。

hoov@hal:~$ pacmd list-sink-inputs 
1 sink input(s) available.
    index: 4577
        driver: <protocol-native.c>
        flags: START_CORKED 
        state: RUNNING
        sink: 0 <alsa_output.pci-0000_00_1b.0.analog-stereo>
        volume: front-left: 35578 /  54% / -15,92 dB,   front-right: 35578 /  54% / -15,92 dB
                balance 0,00
        muted: no
        current latency: 89,62 ms
        requested latency: 75,00 ms
        sample spec: float32le 2ch 48000Hz
        channel map: front-left,front-right
                     Stereo
        resample method: speex-float-1
        module: 14
        client: 840 <Firefox>
        properties:
                media.name = "AudioStream"
                application.name = "Firefox"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "33"
                application.process.id = "11744"
                application.process.user = "gobuki"
                application.process.host = "morpheus"
                application.process.binary = "firefox"
                application.language = "en_US.UTF-8"
                window.x11.display = ":0"
                application.process.machine_id = "0f06bccf24c24ae5ba5d40c54b7d8f58"
                application.process.session_id = "2"
                application.icon_name = "firefox"
                module-stream-restore.id = "sink-input-by-application-name:Firefox"

関連情報