ป้องกันแอปพลิเคชันเพื่อควบคุมระดับเสียงหลักบน Linux


11

เมื่อใดก็ตามที่ฉันเปลี่ยนระดับเสียงใน VLC, Rhythmbox หรือวิดีโอบน YouTube มันจะเปลี่ยนระดับเสียงหลักเช่นระดับเสียงของระบบ ฉันจะป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ได้อย่างไร

ฉันใช้ Debian 7.0.0 (เสียงดัง) ด้วย xfce4 ดูเหมือนว่าจะใช้ PulseAudio ซึ่งฉันไม่คุ้นเคย นี่คือภาพหน้าจอของแอป "มิกเซอร์" ที่มาพร้อมกับ xfce:

ป้อนคำอธิบายรูปภาพที่นี่

ใช่ฉันลองยกเลิกการเลือกไอคอน "chain" ที่นั่น ฉันติดตั้งแล้วpavucontrolแต่ดูเหมือนจะไม่มีตัวเลือกในการเปลี่ยนแปลง:

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


9

บทความ Wiki ของ Gentoo นี้อาจมีการใช้งานที่นี่: PulseAudio สำหรับแต่ละแอปพลิเคชันควบคุมระดับเสียง :

PulseAudio รองรับการควบคุมปริมาณแอปพลิเคชั่น แต่ตามค่าเริ่มต้นสิ่งนี้ไม่ได้ทำอะไรมากเท่าที่คุณสามารถควบคุมไดรฟ์ข้อมูลเหล่านี้ได้จากยูทิลิตี้การควบคุมระดับเสียงของ pulseaudio หมายความว่าในแอปพลิเคชันเช่น Audacious เมื่อตั้งค่าอุปกรณ์เอาต์พุตเป็น PulseAudio และการควบคุมระดับเสียงถูกตั้งค่าเป็นฮาร์ดแวร์จะปรับการควบคุมระดับเสียงหลักไม่ใช่ตัวควบคุมระดับเสียงต่อแอปพลิเคชัน

ในการแก้ไขปัญหานี้ให้ตั้งค่าต่อไปนี้ใน /etc/pulse/daemon.conf

flat-volumes = no

ตอนนี้เมื่อใดก็ตามที่ Audacious ไปปรับระดับเสียงมันจะปรับระดับความดังเท่านั้นที่กล้าหาญและทำให้คุณไม่ต้องใช้แอพพลิเคชั่นหลายตัวที่ต่อสู้กับการควบคุมระดับเสียงหลัก


ขอบคุณ แต่มันใช้งานไม่ได้ ทั้งการเปลี่ยนระดับเสียงจาก pulseaudio GUI (ดังที่เห็นที่นี่ ) และจากแอปพลิเคชันตัวเอง ( ที่นี่ ) เปลี่ยนระดับเสียงของระบบ ฉันรีบูทคอมพิวเตอร์หลังจากทำการเปลี่ยนแปลง ฉันตรวจสอบไฟล์และการเปลี่ยนแปลงถูกบันทึกแน่นอน
อเล็กซ์

เห็นได้ชัดว่า Debian wheezy ใช้ PulseAudio เวอร์ชัน 2.0-6.1 คุณอาจลองใช้คำแนะนำข้างต้นในรุ่น 3.0-1 ที่มีอยู่ในการกระจายการทดลอง
harrymc

@Alex Right ฉันพนันได้เลยว่าปัญหาของ Debian ที่เฉพาะเจาะจงคือ PulseAudio และแอพที่เปิดใช้งาน PA นั้นทำงานได้อย่างที่คุณต้องการเป็นเวลาหลายปี
Michael Hampton

พบปัญหา ame - หรือเป็นตัวแปรที่แตกต่างกันหรือไม่ ไดรฟ์หลักและแอปพลิเคชันทั้งหมดถูกตั้งค่าเป็นพูด 35% ฉันเริ่มต้นแอปพลิเคชันที่ตั้งค่า master (และตัวมันเอง) เป็น 100% แต่ปล่อยให้แอปอื่น ๆ ทั้งหมดอยู่ที่ (ตอนนี้สัมพันธ์กัน) 35% ฉันออกจากแอปพลิเคชันนั้นอาจารย์อยู่ที่ 100% ตอนนี้ทุกแอปพลิเคชันต่อยอดเป็น 35% (ฉันใช้งานบน Linux) ยังคงค้นหาวิธีแก้ไขปัญหานี้
bossi

1

หากฉันตีความปัญหาของคุณอย่างถูกต้องนี่เป็นวิธีแก้ปัญหาที่ฉันพบ:

ปัญหา

เมื่อมีการควบคุมระดับเสียงแอพลิเคชัน (ชุดเช่นมันสูงสุด) จะมีผลต่อระดับเสียงระบบออกจากระดับปริมาณการใช้งานที่พวกเขาอยู่ได้อย่างมีประสิทธิภาพ 'สูงสุด' พวกเขาต้องปรับผ่านเช่นpavucontrolทุกครั้ง

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-------------|

การแก้ไขปัญหา

การตั้งค่าในกรณีของฉันมีสามสถานที่ที่แตกต่างกันซึ่งดูเหมือนว่าจะอนุญาตการกำหนดค่าpulseaudio-daemon :

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

ในการแยกตัวควบคุมหลักออก (นี่คือสิ่งที่มักจะเป็นเช่นการควบคุมปริมาณฮาร์ดแวร์ทั่วทั้งระบบ) และให้แอปพลิเคชั่นควบคุมระดับเสียงของตัวเองโดยไม่ต้องมีสองอย่างที่กระทบต่อกัน

  • ตั้งflat-volumes=noอยู่ใน2.
  • ตรวจสอบให้แน่ใจว่าไม่มีflat-volumesการตั้งค่าใน 1. หรือ3.
  • รีสตาร์ทpulseaudio :
    • pulseaudio -k
    • pulseaudio --start

ผลลัพธ์

ปล่อย

ระดับเสียงเป็นค่าของการควบคุมตัวเลื่อนและการ
เพิ่มระดับเสียงเป็นความดันเสียงที่มีประสิทธิภาพโยกเพื่อนบ้านของคุณ

  • ผลจะเป็นอย่างไร
    1. แอปพลิเคชันที่มีระดับเสียงอธิปไตย ของตัวเองและ
    2. ระดับเสียงระบบโลกที่ยังเป็นเพียงได้รับผลกระทบด้วยตัวเอง
  • ระดับเสียงสูงสุดของแอปพลิเคชั่นที่ได้รับ (ซึ่งออกมาจากลำโพงของคุณ) จะถูก จำกัด ด้วยระดับความดังของระบบที่ตั้งไว้
  • การเพิ่มระดับเสียงระบบสัดส่วนจะเพิ่มกำไรจากปริมาณที่มีประสิทธิภาพการประยุกต์ใช้ผลิตผ่านการส่งออกของคุณ แต่ไม่ได้ของตัวเองระดับเสียง

ตัวอย่าง

flat-volumes = yes
  1. แอปพลิเคชั่น "ดัน" ระดับเสียงของระบบสูงสุด: เช่นระดับเสียงของระบบอยู่ที่ 60%; แอปพลิเคชั่นปรับระดับเสียงได้อย่างอิสระต่ำกว่า 60% แต่ "ผลัก" ระดับเสียงของระบบขึ้นเมื่อเกินระดับเสียงของระบบในปัจจุบัน
  2. แอปพลิเคชันอาจตั้งค่าระดับเสียงเป็นสูงสุด (เช่น kodi ในกรณีที่ฉันมี) หากเป็นเช่นนั้นระดับเสียงของระบบจะได้รับการตั้งค่า (สูงสุด) ในขณะที่ระดับแอปพลิเคชันอื่นยังคงอยู่ เมื่อถึงจุดนี้พฤติกรรมนี้ยังคงรักษาระดับเสียงที่เพิ่มขึ้นได้อย่างมีประสิทธิภาพ แต่เมื่อแอปพลิเคชันที่ตั้งค่าระดับเสียงเป็น max quits ทุกระดับจะยังคงอยู่ที่ใดก็ตาม
flat-volumes = no
  1. ปริมาณแอปพลิเคชันไม่ส่งผลกระทบต่อระดับเสียงของระบบเลย
  2. แอปพลิเคชันอาจตั้งค่าระดับเสียงเป็นสูงสุด (เช่น kodi ในกรณีที่ฉันมี) เมื่อปิดการใช้งานวอลุ่มแบบแบนจะไม่ส่งผลต่อระดับเสียงของระบบ แต่จะมีผลกับระดับเสียงของแอปพลิเคชันอื่นเท่านั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.