มีวิธีแฟนซีในการรับ OSD การแจ้งเตือนปริมาณให้ทำงานกับทั้ง pulseaudio และ ALSA หรือไม่? ตอนนี้เดสก์ทอปธรรมดานั้นใช้งานได้กับ pulseaudio สำหรับฉันเท่านั้น แล้ว OSD แนวตั้งที่ฉันสามารถใช้แทนการปล่อยหรือเรียกจากบรรทัดคำสั่งเพื่อรายงานการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ตามอำเภอใจกราฟิกเป็นแถบที่เลื่อนขึ้นและลงได้อย่างไร
เหตุผลที่ฉันต้องการใช้งานกับทั้ง ALSA และ pulseaudio ก็คือฉันใช้แอปพลิเคชั่น WINE ที่เล่นได้ไม่ดีกับพัลส์ฉันจึงฆ่าพัลส์ก่อนที่จะเริ่มแอพ Windows เพื่อใช้ ALSA โดยไม่มีเลเยอร์นามธรรม เมื่อฉันรู้ว่าปุ่มปรับระดับเสียงบนแป้นพิมพ์ของฉันไม่ทำงานโดยไม่มีชีพจรฉันเขียนสคริปต์ทุบตีบางอย่างที่ฉันเรียกด้วย Compiz หรือ Openbox (กำหนดค่าผ่าน CCSM และ lxde-rc.xml ตามลำดับ) เพื่อจับสัญญาณทางออกจากpulseaudio --check
และ จากนั้นปรับระดับเสียงตาม:
vol_step_up
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- +3db
else
amixer -c0 set Master playback 3+
fi
vol_step_down
#!/bin/bash
pulseaudio --check
if [ $? -eq 0 ] ; then
pactl set-sink-volume 0 -- -3db
else
amixer -c0 set Master playback 3-
fi
สคริปต์ใช้งานได้ดีและแมปไปยังปุ่มได้ดี แต่ฉันไม่มีวิธีที่ดีในการดูความคิดเห็นภาพอีกต่อไป - ไม่แม้แต่กับ Pulseaudio ตั้งแต่ฉันกำลังดูเหตุการณ์ปุ่ม (XF86AudioLowerVolume ฯลฯ ) เห็นได้ชัดว่าฉันสามารถแมปปุ่มปรับระดับเสียงของ ALSA กับสิ่งอื่นได้ แต่ไม่มีความรู้สึกในการทำซ้ำปุ่มลัด
ฉันพบการควบคุมปริมาณหลามที่ฉันสามารถโทรหาได้ในสคริปต์ด้านบน:
https://github.com/fishman/utils/blob/master/pvol.py
pvol.py -s
แสดงระดับเสียงปัจจุบันบนหน้าจอสำหรับทั้ง ALSA และ pulseaudio แต่มันเล็กมากเมื่อเทียบกับ gnome OSD ที่ฉันใช้และมันไม่ใช่แนวตั้ง (แถบด้านบน OSD เก่าที่ด้านล่าง):
ดังนั้นฉันทำให้มันใหญ่ขึ้นและลอยไปรอบ ๆ :
แต่ถึงแม้จะมีการเปลี่ยนการวางแนวเป็นแนวตั้งธีม GTK สีฟ้าที่เป็นค่าเริ่มต้นยังไม่ราบรื่นเท่า VLC (ดูด้านล่าง)
สิ่งที่ฉันได้พบในการค้นหาการใช้งาน OSD ส่วนใหญ่จะโพสต์เกี่ยวกับคำสั่งแจ้งเตือนการส่งซึ่งขาดแนวคิดของแถบความคืบหน้าทั้งหมด ไม่เช่นนั้นจะเป็นแถบแนวนอนส่วนใหญ่ (และตัวยึดตำแหน่งนับจำนวนมากภายในสคริปต์ทุบตี) สิ่งที่ฉันต้องทำจริงๆก็คือโทรเรียก amix & pactl ดังนั้นสิ่งที่เรียบง่ายเช่นแถบความคืบหน้าของ gtk ใน pvol.py จะดีมาก - ไม่ใช่แค่สีน้ำเงินและไม่ได้อยู่กลางหน้าจอ
VLC มีตัวอย่างที่ดีของสิ่งที่ฉันมีอยู่ในใจเมื่อคุณเลื่อนล้อเลื่อนของเมาส์ในโหมดเต็มหน้าจอ:
มันมีสิ่งกีดขวางน้อยกว่ากล่องทั่วไปที่อยู่ตรงกลางของหน้าจอ:
การเปรียบเทียบแถบเลื่อนแนวนอนทั้งคู่ไม่เคยทำให้ฉันรู้สึกนอกปรากฎเสียงระหว่างลำโพงซ้ายและขวา
อย่างไรก็ตามการแจ้งเตือนเดสก์ท็อปเริ่มต้นเป็นวิธีการที่เรียกว่า (โดยเฉพาะ LXDE) ฉันเห็นโพสต์จำนวนมากเกี่ยวกับการกำหนดค่ากิจกรรมการกดปุ่ม แต่ไม่มากกับสิ่งที่เรียกใช้สคริปต์เหตุการณ์เหล่านั้น มีตัวเลือกอื่น ๆ อะไรบ้างในแผนกแฟนซีแนวตั้ง?
นอกจากนี้ยังมีแพคเกจบางอย่างที่ฉันควรถอนการติดตั้งเพื่อป้องกันความขัดแย้งระหว่างเหตุการณ์ที่ฉันจัดการด้วยสคริปต์และคำสั่ง compiz หรือ openbox หรือไม่
อัปเดต:เพื่อหาว่า OSD ที่ฉันใช้อยู่นั้นคืออะไรฉันไม่ได้เปลี่ยนวิธีจัดการปุ่มปิดเสียงทันที การฆ่า xfce4-alertd แล้วกดปุ่มปิดเสียงวางไข่กระบวนการ xfce4-alertd ใหม่ดังนั้นฉันเดาว่าไอคอนลำโพงขนาดใหญ่มาจากสิ่งที่ชอบ xfce4-volumed แต่จริง ๆ แล้วฉันไม่ได้ติดตั้งแพ็กเกจนั้น ... อ๊ะ! การฆ่า gnome-settings-daemon หยุด OSD ขนาดใหญ่ที่กึ่งกลางหน้าจอ