サウンドの再生が始まったときに、音量を徐々に強制的に上げるにはどうすればよいですか?

サウンドの再生が始まったときに、音量を徐々に強制的に上げるにはどうすればよいですか?

シナリオ: 大音量で音楽を再生します。コンピューターから 1 時間離れます。戻ってきて音楽を再開しますが、音量が「最大」に設定されていることを忘れています。

質問: pulseaudio プラグインなど、次のことを指定できるものをインストールできますか?

オーディオが 秒間再生されておらずA、音量が を超えているB場合、オーディオの再生が始まると、音量 で再生され、秒間かけてC徐々に音量が まで上がります。BD

これを「グローバルに」実行できれば、音源が何であるかは問題ではなくなるので、非常に望ましいでしょう。

答え1

このような機能を備えた音楽プレーヤーをインストールすることができます。

私の知る限り、Clementine にはこの機能があり、Ubuntu ソフトウェア センターから入手できます。

答え2

1 つの選択肢は、スクリプトを使用して、サスペンド (または再開) 時にシステムの音量をミュート (または下げる) することです。つまり、再開後に手動で音量を上げなければならないということですが...

音量を設定するコマンドは次のようになります。

pacmd set-sink-volume 0 20000

(pacmdはパッケージ 内にありますpulseaudio-utils)。ここで、 は0 デフォルトのシンク (サウンド出力) であり、ボリュームは 16 ビットの数値 (0 から 65535) です。詳細はこの回答をご覧くださいシステムに適したコマンドを見つけるには、実験する必要があります。

サスペンド/レジューム時にこれを自動的に行うには、この郵便受け:(テストはしていませんが、動作するはずです)。

  1. ファイルを編集/作成する

    gksudo gedit /etc/pm/sleep.d/02_shush

  2. 次のコンテンツを入れます:

    #!/bin/sh
    
    # set the volume low on suspend and resume. Change the command to suite your 
    # system. You can do that just in suspend OR resume or whatever; edit to your 
    # taste...
    
    case "$1" in
        resume|thaw)
            # this command(s) will be executed at resume time
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
        suspend|hibernate)
            # this command(s) will be executed before suspend
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
    esac
    
  3. 保存して終了

  4. 実行可能にする:

    sudo chmod 755 /etc/pm/sleep.d/02_shush

関連情報