Khối lượng dòng lệnh cho mỗi ứng dụng (có thể là amixer hoặc pactl?)


9

Tôi có thể thay đổi âm lượng chính bằng các lệnh này (từ dòng lệnh) và nó ảnh hưởng đến tất cả các ứng dụng, nhưng làm cách nào để thay đổi âm lượng cho chỉ một ứng dụng ( XMMSví dụ)?

amixer -q  set Master     toggle  # or pactl set-sink-mute   0 toggle
amixer -q sset Master 5%+ unmute  # or pactl set-sink-volume 0 -- -5%
amixer -q sset Master 5%- unmute  # or pactl set-sink-volume 0 -- +5%

pacmd dump #là thú vị, và có những ứng dụng GUI có thể làm điều này: gnome-control-center sound,pavucontrol


Bạn không thể làm điều đó với ALSA, nhưng bạn có thể làm điều đó với Pulseaudio.
Gilles 'SO- đừng trở nên xấu xa'

Câu trả lời:


17

Bạn có thể lấy số lượng đầu vào chìm bằng lệnh pactl.

$ pactl list sink-inputs
...
Sink Input #7119
    Driver: protocol-native.c
    Owner Module: 12
    Client: 6298
    Sink: 0
...
Properties:
    application.icon_name = "google-chrome"
    media.name = "Playback"
    application.name = "Chromium"
...

Sử dụng số này (# 7119), bạn chỉ định Đầu vào chìm.

$ pactl set-sink-input-mute 7119 toggle

Nó sẽ xác định các ứng dụng với application.icon_nametài sản. Sau đây là trường hợp chỉ định Chromium.

#!/bin/sh
LANGUAGE="en_US"

app_name="Chromium"

current_sink_num=''
sink_num_check=''
app_name_check=''

pactl list sink-inputs |while read line; do \
    sink_num_check=$(echo "$line" |sed -rn 's/^Sink Input #(.*)/\1/p')
    if [ "$sink_num_check" != "" ]; then
        current_sink_num="$sink_num_check"
    else
        app_name_check=$(echo "$line" \
            |sed -rn 's/application.name = "([^"]*)"/\1/p')
        if [ "$app_name_check" = "$app_name" ]; then
            echo "$current_sink_num" "$app_name_check"

            pactl set-sink-input-mute "$current_sink_num" toggle
        fi
    fi
done

1

Đối với PulseAudio Roland Haas đã viết một công cụ:
https://github.com/rhaas80/pa_volume

tôi đã phải cài đặt libpulse-dev linux-libc-dev libc6-dev zlib1g-dev libpcre3-dev libglib2.0-0 libglib2.0-dev.
Bạn cũng có thể cần một trình biên dịch (gcc) để make.

Nguồn: https://askubfox.com/a/968540/382812 "Làm cách nào để thay đổi âm lượng của ứng dụng phát lại pulseaudio / ứng dụng / luồng hiện không được sử dụng?"


1
Đây có thể là thông tin kỹ thuật hữu ích mà không giải quyết câu hỏi nào cả.
Jeff Schaller

Tại sao không? Câu hỏi chỉ nói " có thể là amixer hoặc pactl".
äxl

Dường như với tôi rằng câu trả lời này chỉ ra một liên kết trỏ đến một liên kết đến một công cụ có thể trả lời câu hỏi. Có lẽ bạn có thể làm cho nó rõ ràng hơn đối với những người đọc bình thường của trang web này về những gì bạn đang đề xuất bằng cách kết hợp câu trả lời AU tại đây (với một liên kết quay lại AU). Mặt khác, câu trả lời này hiện tại trông giống như một nỗ lực để giải quyết makelỗi / biên dịch. Cảm ơn bạn!
Jeff Schaller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.