Jak sprawić, by efekt dźwiękowy był odtwarzany za każdym razem, gdy kliknę?

11

Wiem, że to brzmi dziwnie, ale chcę z tym poeksperymentować.

W ciągu ostatnich kilku miesięcy trochę zmieniłem Ubuntu w mojego małego potwora Frankensteina, ale cokolwiek mi powiesz, powinno nadal działać.

nieznany z nazwiska
źródło

Odpowiedzi:

4

Hmm, dość hacky rozwiązanie, ale działa! Przede wszystkim zainstaluj następujące rzeczy:

sudo apt-get install xmacro expect mpg321

xmacroto program, który wykryje kliknięcia myszą. expectto program, który nasłuchuje wyników xmacrokliknięć myszką, aby wykonać mpg321, który jest odtwarzaczem wiersza poleceń!

Więc uruchom ten skrypt z poziomu terminala:

#!/usr/bin/expect -f
spawn xmacrorec2

while { 1 } {
   expect "ButtonRelease 1"
   system mpg321 /home/alex/Music/notification/notification.mp3&
}

Kiedy wykonasz powyższy skrypt (powtarzam, przez terminal ) zostaniesz poproszony o klucz wejściowy. Daj niezwykły klawisz (np. F7), będzie to klucz, który bez względu na to, kiedy go naciśniesz, zatrzyma ten proces.

Po prostu w powyższym skrypcie ustaw mpg321 na prawidłowy plik mp3 i przetestuj go :)

Działa dobrze pod Ubuntu 12.04, ale bez problemu korzystałem z tych wszystkich 3 narzędzi w Oneiric!

xmacrorec2może przyjąć jako argument oczekiwany klucz (argument -k) jako kod kei. To bardzo pomaga, jeśli chcesz umieścić powyższy skrypt w aplikacjach startowych, ponieważ nie poprosi on o klucz wejściowy za każdym razem. Aby znaleźć odpowiedni kod klucza, którego chcesz użyć, musisz zainstalować mały program xbindkeys:

sudo apt-get install xbindkeys

Następnie wykonaj:

touch ~/.xbindkeysrc
xbindkeys -k

Po ostatnim poleceniu pojawi się małe okno, nic nie robiąc, wprowadź dane z klawiatury, powiedzmy F7. Zobaczysz coś takiego:

You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:73
F7

Zwróć uwagę na linię:

    m:0x0 + c:73

Kod 73jest tym, którego oczekuje xmacrorec2. Możesz więc dodać do powyższego skryptu argument -k, taki jak ten: spawn xmacrorec2 -k 73a on automatycznie się uruchomi. Po zakończeniu edycji skryptu zapisz go w stabilnym katalogu (mam na myśli katalog, którego nie usuniesz / nie przeniesiesz do najbliższej przyszłości), na przykład ~ / Documents, i nadaj mu uprawnienia do wykonywania (kliknij prawym przyciskiem myszy na nim-> Właściwości-> Uprawnienia-> Zezwól na uruchamianie pliku jako programu lub przez terminal chmod +x script_name.sh). Następnie po prostu dodaj swój skrypt do aplikacji startowych . Oczywiście, za każdym razem, gdy chcesz, aby dźwięk się zatrzymał, będziesz musiał podać odpowiednie wejście klawiatury, np F7.

PS: Jeśli nie chcesz instalować dodatkowego odtwarzacza mp3 z linii poleceń (jak mpg321), możesz użyć wstępnie zainstalowanego odtwarzacza canberra-gtk-play, który jest używany jako

canberra-gtk-play -f music.wav

Wadą tego jest to, że może odtwarzać tylko niektóre pliki ogg i wav.

hytromo
źródło
Spróbuję twojego polecenia. Co również oznacza -fpoczątek i spawnpolecenie?
Lucio,
I nie wiesz jeszcze czegoś, że mpg321 nie instaluje zewnętrznego programu?
Lucio,
Manpage ( man expect) poprowadził mnie tak, aby być pierwszą linijką skryptu. Kolejnym fabrycznie zainstalowanym odtwarzaczem linii poleceń jest canberra-gtk-playi można go nazwać jako canberra-gtk-play -f file.ogg. Wadą tego programu jest to, że może on odtwarzać tylko niektóre pliki ogg i wav.
hytromo
W tej chwili nie mogę udowodnić twojej metody z powodu błędu GPG podczas aktualizacji .
Lucio,
Ok nie spiesz się.
hytromo