pulseaudio: kulaklık bağlandığında otomatik geçiş


2

XUbuntu 16.04 kullanıyorum. Önceden, analog hat çıkışına bağlı hoparlörlerim vardı ve takılı olduklarında ses otomatik olarak kulaklıklara geçecekti. Hepsi bir çıkış cihazında (ana kart sesi) oluyordu.

Artık dahili hoparlörlere sahip yeni bir monitörüm var, ancak analog bağlantı yok, bu yüzden Radeon R9 270’imden DisplayPort üzerinden ses alıyorum. kulaklıkları taktığımda anakart sesi çıkarırken, fişi tekrar taktığımda GPU aygıtındaki DP ses bağlantı noktasına geri dönüyorum.

Kullanmayı denedim pactl load-module module-switch-on-connect, ancak herhangi bir etkisi görünmüyor, muhtemelen kulaklıklara takmak yeni bir lavabo değil, sadece yeni bir bağlantı noktası oluşturuyor.

Bunu pactl / pacmd çağrısı ile manuel olarak yapabileceğim diğer soruları okudum ve bunu yapmak zorunda kalırsam bunu yapacağım, ama bunun otomatik olarak olmasını tercih ederim. Bunu yapmak için bir kod yazmam gerekip gerekmediğini umursamıyorum, ancak kulaklık takılıyken veya bağlantısı kesildiğinde arama yapmak için arayabileceğim bir kanca var mı?

Yanıtlar:


0

Bu tartışma ve paswitch sayesinde bir çözüm buldum . Özetle, kulaklık tak / çıkar olaylarını bağlamak için acpid kullanılabilir.

Aşağıdaki dosyaları oluşturdum:

/ Etc / acpi / olaylar / kulaklık jakı-:

event=jack/headphone
action=/etc/acpi/headphone-jack.sh %e

/etc/acpi/headphone-jack.sh (çalıştırılabilir hale getirmeyi unutmayın):

#!/bin/bash
set -e -u

if [ "$1" = "jack/headphone" -a "$2" = "HEADPHONE" ]; then
    case "$3" in
        plug)
            sink=alsa_output.pci-0000_00_1b.0.analog-stereo
            ;;
        *)
            sink=alsa_output.pci-0000_01_00.1.hdmi-stereo
            ;;
    esac
    for userdir in /run/user/*; do
        uid="$(basename $userdir)"
        user="$(id -un $uid)"
        if [ -f "$userdir/pulse/pid" ]; then
            PULSE_RUNTIME_PATH="$userdir/pulse" su "$user" -c "paswitch $sink"
        fi
    done
fi

Lavabolar sisteminize bağlı olarak doğal olarak güncellenmelidir.

Komut dosyasının gerçek bir çok kullanıcılı sistem için ne kadar sağlam olduğundan emin değilim, ancak bu benim için çalışıyor.


Bunun için lavabo önceliği kullanırdım. Acpi'ye kanca eklemenize gerek kalmadan.
Alexander,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.