skrypt, aby wyłączyć głośność, gdy słuchawki są odłączone

pingwin-159784_640

Zdarzyło mi się, że gdy ludzie spali we wczesnych godzinach porannych, słuchałem ciężkiej muzyki na pełnej głośności i przez pomyłkę odłączyłem słuchawki, co spowodowało, że grała w całym domu (chyba mnie wtedy nienawidzili ha ha). Więc zaprogramuj mały skrypt, który po odłączeniu wycisza głośność:

Pierwszą rzeczą była instalacja alsa-utils aby móc łatwo zarządzać głośnością za pomocą poleceń:

sudo pacman -S alsa-utils

Następną rzeczą było odkrycie przez wyszukiwarkę Google, że zapisuje ona również w zwykłych plikach tekstowych (można to odczytać dowolnym edytorem tekstu, w systemie Windows wszystko to byłoby znacznie bardziej skomplikowane) status kart dźwiękowych i że zajmuje tylko kopię plik, a następnie porównaj zmiany.

Plik to:
/proc/asound/card0/codec#0

Może się to różnić w niektórych przypadkach, na przykład jeśli mamy więcej niż jedną kartę dźwiękową. Jeśli chcesz dowiedzieć się więcej, zostawiam link do dokumentacji alsy: http://alsa.opensrc.org/Proc_asound_documentation

Podłączam słuchawki i kopiuję plik:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Następnie odłączam słuchawki i używam polecenia diff, które pokazuje różne linie między dwoma plikami:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Istnieją pewne dane, które nas nie interesują, więc musimy filtrować za pomocą grep, aby wyświetlał tylko wiersze zawierające słowo „Pin-ctls”.

diff "/proc/asound/card0/codec#0" ".audifonos/con" | grep Pin-ctls

W przypadku, gdy polecenie nic nie pokazuje na ekranie, oznacza to, że mamy włączone słuchawki. ponieważ nie może niczego zwrócić, zwraca błąd.

Aby zobaczyć ten błąd, wpisujemy:
echo $?

Jeśli pokazuje nam jeden na ekran, informuje nas o błędzie.

wygoda

z drugiej strony jeśli jak to wykonamy to coś zwróci to mamy odłączone słuchawki to wtedy nie zwróci błędu:
echo $?

cześć

Mając to na uwadze i znając bash, łatwo to zrobić:

Headphones.sh

Pobieram go, udzielam uprawnień do uruchomienia, aby otworzyć go po raz pierwszy tak, aby się „zainstalował” (prosi tylko o podłączenie słuchawek i skopiowanie pliku, który wyjaśnia na początku)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

Aby zakończyć, uruchamiam go automatycznie za każdym razem, gdy włączam komputer

Z Xfce przechodzę do aplikacji> konfiguracja> Sesja i start> autostart aplikacji> dodaj i umieść skrypt


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Płytka powiedział

    Czy zdarza ci się używać WM? Tyle, że przynajmniej w Arch z Gnome-Shell 3.16 zachowuje zmiany w regulacji głośności, np. Jak podłączam HDMI to pokazuje mi maksymalną głośność, jak podłączam słuchawki pokazuje mi bardzo niską głośność i na wbudowanym -w głośnikach prawie najbardziej.

    Chociaż tak naprawdę chciałem to zrobić od jakiegoś czasu, to była dziwka, która musiała zmniejszyć głośność, aby móc korzystać z głośników, aby dźwięk nie był głośny lub denerwujący dla innych. Bardzo dziękuję za wkład.

    1.    deszcz powiedział

      za nic 🙂 używam xfce 😛

      1.    Płytka powiedział

        Właśnie sobie przypomniałem, że kiedyś oglądałem p0rn i miałem odłączone słuchawki i hdp i usłyszałem jęki Shyli: c
        Dobrze, że był to tylko fragment co najmniej wiecznej sekundy i brzmiało to jak horrory, gdy zabito prostytutkę XD
        Po przemyśleniu dodam go do ulubionych

  2.   Yoyo Moreno powiedział

    Hahahahahaha to samo stało się ze mną, kiedy przypadkowo odłączyłem go około północy i dobry Hard Core zabrzmiał na pełnej głośności XD moja rodzina się bała: v

  3.   noxonsoftware powiedział

    W pewnym momencie przydadzą mi się dobre informacje. Wielkie dzięki

  4.   Andreser powiedział

    Nie oszukujesz mnie, oglądałeś * lub gejów po hiszpańsku, a słuchawki były odłączone xD
    Dzięki za wkład, w Linux Mint głośność jest zachowana, np. Jak ustawię wyciszenie a potem podłączę słuchawki to w słuchawkach będę miał dźwięk a bez nich nie.
    Pozdrowienia.

    1.    deszcz powiedział

      hahaha, nie, ale w takich przypadkach też działa (?)

      1.    Andreser powiedział

        Tak, działa również w tych przypadkach (͡ ° ͜ʖ ͡ °)

  5.   Deni powiedział

    Dobra informacja, sugestia, jeśli system obsługuje 'devd', jak mam kontynuować kopiowanie lub tworzenie tego pliku?

    [kod] $ PREFIX / share / examples / cups / ulpt-cupsd.conf do $ PREFIX / etc / devd / [/ code]

    1.    deszcz powiedział

      Nie mogę ci powiedzieć, czy komenda cp nie wystarczy?

      1.    Deni powiedział

        Nie, jest napisane, że katalog nie istnieje i nie wiem też, jak go utworzyć.

  6.   fernando powiedział

    Hej, cóż, jeśli powiem ci, że zdarzyło mi się to więcej niż jeden raz i przy tej samej muzyce, więc zapisuję to, aby zainstalować później. Pozdrawiamy iw imieniu Heavy Metalu dziękujemy.

  7.   David powiedział

    …… ~$ sudo pacman -S alsa-utils
    [sudo] hasło dla davida:
    sudo: pacman: nie znaleziono polecenia