Cegah aplikasi untuk mengontrol volume master di Linux

10

Setiap kali saya mengubah volume di VLC, Rhythmbox, atau video di YouTube, itu mengubah volume master, yaitu volume sistem. Bagaimana saya bisa mencegah hal ini terjadi?

Saya menjalankan Debian 7.0.0 (wheezy) dengan xfce4, sepertinya menggunakan PulseAudio, yang saya tidak kenal. Berikut screenshot dari aplikasi "Mixer" yang hadir bersama xfce:

masukkan deskripsi gambar di sini

Ya saya mencoba menghapus centang pada ikon "rantai" di sana. Saya menginstal pavucontroltetapi tampaknya tidak ada pilihan untuk mengubahnya:

masukkan deskripsi gambar di sini

Alex
sumber

Jawaban:

9

Artikel wiki Gentoo ini mungkin berlaku di sini: PulseAudio kontrol volume per aplikasi :

PulseAudio mendukung kontrol volume per aplikasi, tetapi secara default ini tidak banyak membantu karena Anda hanya dapat mengontrol volume ini dari utilitas kontrol volume pulseaudio. Artinya dalam aplikasi seperti Audacious, ketika perangkat output diatur ke PulseAudio, dan kontrol volume diatur ke perangkat keras, itu akan menyesuaikan kontrol volume master, bukan kontrol volume per aplikasi.

Untuk memperbaiki perilaku ini, atur yang berikut di /etc/pulse/daemon.conf

flat-volumes = no

Sekarang setiap kali Audacious pergi untuk menyesuaikan volume, itu akan menyesuaikan volume hanya berani dan dengan demikian Anda tidak akan memiliki beberapa aplikasi memperebutkan kontrol volume master.

harrymc
sumber
Terima kasih, tapi itu TIDAK berhasil. Baik mengubah volume dari pulseaudio GUI (seperti yang terlihat di sini ) dan dari aplikasi itu sendiri (di sini ) mengubah volume sistem. Saya me-reboot komputer setelah melakukan perubahan. Saya memeriksa file dan perubahannya memang disimpan
Alex
Wheezy Debian ternyata menggunakan PulseAudio versi 2.0-6.1. Anda dapat mencoba saran di atas pada versi 3.0-1 yang tersedia di distribusi eksperimental.
harrymc
@Alex Right. Saya bertaruh pada masalah ini karena Debian khusus karena aplikasi PulseAudio dan PA-enabled telah bekerja seperti yang Anda inginkan selama bertahun-tahun.
Michael Hampton
Punya masalah ame - atau apakah itu varian yang berbeda? Master dan semua volume aplikasi diatur ke, katakanlah 35%. Saya memulai aplikasi yang menetapkan master (dan itu sendiri) ke 100%, tetapi meninggalkan semua yang lain di (sekarang relatif) 35% mereka. Saya keluar dari aplikasi itu, master di 100%, semua aplikasi sekarang dibatasi hingga 35% (saya di Arch Linux). Masih mencari solusi untuk ini.
bossi
0

Jika saya menafsirkan masalah Anda dengan benar, ini adalah solusi yang saya temukan:

Masalah

Ketika suatu aplikasi mengontrol volume (mis. Mengaturnya ke maksimum), itu mempengaruhi level volume sistem, meninggalkan level volume aplikasi di mana mereka berada, secara efektif "membatasi" mereka, perlu menyesuaikan kembali misalnya pavucontrolsetiap kali.

Initial settings:
  system      |========o--------|
  application |========o--------|

Controlling application adjusts:
  system      |================o|
  application |========o--------|

Result when bringin system volume level down again:
  system      |========o--------|
  application |===o-------------|

Solusinya

Pengaturan dalam kasus saya memiliki tiga tempat berbeda yang tampaknya memungkinkan mengonfigurasi pulseaudio-daemon :

  1. /etc/pulse/daemon.conf
  2. ~/.pulse/daemon.conf
  3. ~/.config/pulse/daemon.conf

Untuk memisahkan kontrol master (ini biasanya seperti apa misalnya kontrol volume perangkat keras sistem dipetakan ke) dan memiliki aplikasi mengontrol volume mereka sendiri, tanpa keduanya mempengaruhi satu sama lain, berikut ini bekerja untuk saya:

  • set flat-volumes=nodi2.
  • pastikan tidak ada flat-volumespengaturan di 1. atau3.
  • restart pulseaudio :
    • pulseaudio -k
    • pulseaudio --start

Hasil

Membiarkan

level volume menjadi nilai kontrol slider dan
penambahan volume menjadi tekanan suara efektif yang mengguncang tetangga Anda

  • Hasilnya akan
    1. aplikasi yang memiliki tingkat volume berdaulat sendiri , dan
    2. suatu tingkat volume sistem global , yang juga hanya dipengaruhi dengan sendirinya.
  • Kenaikan volume maksimum yang dihasilkan aplikasi (yang keluar dari speaker Anda) akan dibatasi oleh apa pun tingkat volume sistem saat ini diatur.
  • Meningkatkan level volume sistem akan secara proporsional meningkatkan volume efektif yang dihasilkan aplikasi melalui output Anda, tetapi bukan level volumenya sendiri .

Sebuah contoh

flat-volumes = yes
  1. Aplikasi "mendorong" volume sistem ke atas: Misalnya volume sistem berada pada 60%; volume aplikasi bergerak bebas di bawah 60%, tetapi "mendorong" volume sistem naik ketika melebihi volume sistem saat ini
  2. Aplikasi dapat mengatur volume ke maks (mis. Kodi dalam case yang saya punya). Jika demikian, level volume sistem akan diatur (ke maks), sementara level aplikasi lain tetap di tempatnya. Sampai pada titik ini perilaku ini mempertahankan kenaikan volume yang efektif, tetapi ketika aplikasi yang mengatur volume menjadi maksimum, semua level tetap di tempatnya, menjaga volume sistem tetap di max dan volume aplikasi sekarang dibatasi pada posisi relatifnya.
flat-volumes = no
  1. Volume aplikasi tidak mempengaruhi volume sistem sama sekali.
  2. Aplikasi dapat mengatur volume ke maks (mis. Kodi dalam case yang saya punya). Dengan volume datar dinonaktifkan, itu tidak mempengaruhi volume sistem, tetapi hanya volume sendiri, meninggalkan semua level volume aplikasi lain di mana mereka berada.
bossi
sumber