Có cách nào lạ mắt để thông báo âm lượng OSD hoạt động với cả pulseaudio và ALSA không? Ngay bây giờ các máy tính để bàn tiêu chuẩn chỉ hoạt động với pulseaudio cho tôi. Làm thế nào về một OSD dọc mà tôi có thể sử dụng như một sự thay thế hoặc gọi từ dòng lệnh để báo cáo các thay đổi về tỷ lệ phần trăm tùy ý về mặt đồ họa, như một thanh di chuyển lên và xuống?
Lý do tại sao tôi cần nó hoạt động với cả ALSA và pulseaudio là vì tôi đang sử dụng ứng dụng WINE không hoạt động tốt với xung, vì vậy tôi giết xung trước khi khởi động ứng dụng Windows để sử dụng ALSA mà không cần thêm lớp trừu tượng. Khi tôi nhận ra rằng các phím âm lượng trên bàn phím của mình không hoạt động mà không có xung, tôi đã viết một số tập lệnh bash mà tôi gọi bằng Compiz hoặc Openbox (được định cấu hình thông qua CCSM và lxde-rc.xml, tương ứng) để bắt tín hiệu thoát khỏi pulseaudio --check
và sau đó điều chỉnh âm lượng cho phù hợp:
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
Các kịch bản hoạt động tốt và ánh xạ tới các nút tốt, nhưng tôi không có cách nào tốt để xem phản hồi trực quan nữa - ngay cả với các pulseaudio kể từ khi tôi bắt các sự kiện nút (XF86AudioLowerVolume, v.v.). Rõ ràng là tôi chỉ có thể ánh xạ các phím âm lượng ALSA sang một thứ khác, nhưng không có ý nghĩa gì trong việc sao chép các phím tắt.
Tôi đã tìm thấy một điều khiển âm lượng python mà tôi có thể gọi trong các tập lệnh ở trên:
https://github.com/fishman/utils/blob/master/pvol.py
pvol.py -s
hiển thị mức âm lượng hiện tại trên màn hình cho cả ALSA và pulseaudio, nhưng nó cực kỳ nhỏ so với OSD gnome tôi đã sử dụng và nó không thẳng đứng (thanh trên cùng, OSD cũ ở dưới cùng):
Vì vậy, tôi đã làm cho nó lớn hơn và lật nó xung quanh:
Nhưng, ngay cả khi chuyển hướng sang hướng dọc, chủ đề GTK mặc định màu xanh không hoàn toàn trơn tru như VLC (xem bên dưới).
Phần lớn những gì tôi đã tìm thấy khi tìm kiếm các triển khai OSD là các bài đăng về các lệnh gửi thông báo thiếu toàn bộ khái niệm thanh tiến trình. Mặt khác, nó chủ yếu là các thanh ngang (và rất nhiều trình giữ chỗ trong các tập lệnh bash). Thực sự tất cả những gì tôi cần làm là gọi amix & pactl, vì vậy một cái gì đó đơn giản như thanh tiến trình gtk trong pvol.py sẽ rất tuyệt - chỉ không quá xanh và không ở giữa màn hình.
VLC có một ví dụ điển hình về những gì tôi có trong đầu khi bạn cuộn bánh xe chuột ở chế độ toàn màn hình:
Nó ít gây cản trở hơn các hộp thông thường nằm ở giữa màn hình:
Sự tương tự thanh trượt ngang hoàn toàn chưa bao giờ có ý nghĩa đối với tôi ngoài âm thanh lia giữa loa trái và phải.
Dù sao, làm thế nào mà các thông báo trên màn hình mặc định được gọi (đặc biệt là LXDE)? Tôi thấy rất nhiều bài viết về việc cấu hình các sự kiện nhấn phím, nhưng không nhiều về những kịch bản mà các sự kiện đó kích hoạt. Những lựa chọn khác là có trong bộ phận ưa thích theo chiều dọc?
Ngoài ra, có một số gói tôi nên gỡ cài đặt để ngăn xung đột nảy sinh giữa các sự kiện tôi đang xử lý thông qua các lệnh script và compiz hoặc openbox?
Cập nhật: Để tìm hiểu OSD tôi đang sử dụng, tôi đã không thay đổi cách xử lý nút tắt tiếng ngay lập tức. Giết xfce4-notifyd và sau đó nhấn nút tắt tiếng sẽ tạo ra một quy trình xfce4-notifyd mới, vì vậy tôi đã đoán biểu tượng loa lớn đến từ thứ gì đó như xfce4-volumed, nhưng tôi thực sự không cài đặt gói đó ... Ah ha! Giết gnome-settings-daemon dừng OSD lớn ở giữa màn hình.