Как заставить звуковой эффект играть каждый раз, когда я нажимаю?

Я знаю, что это звучит странно, но я хочу поэкспериментировать с этим.

За последние несколько месяцев я как бы превратил Ubuntu в своего собственного маленького монстра Франкенштейна, но все, что ты мне скажешь, все равно должно работать.

11
задан 6 January 2017 в 21:56

1 ответ

1120 Хм, довольно хакерское решение, но оно работает! Прежде всего, установите следующее:

sudo apt-get install xmacro expect mpg321

xmacro - это программа, которая распознает щелчки мышью. expect - это программа, которая будет прослушивать вывод xmacro для ваших щелчков мыши, чтобы выполнить mpg321, который является проигрывателем командной строки!

Итак, запустите этот скрипт изнутри терминала :

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

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

При выполнении вышеуказанного сценария (повторяю, через терминал ) у вас спросят клавишу ввода. Дайте необычный ключ (например, F7), это будет ключ, который, независимо от того, когда вы нажмете его, остановит этот процесс.

Итак, просто внутри приведенного выше сценария установите mpg321 в свой действительный mp3-файл и протестируйте его:)

Он отлично работает в Ubuntu 12.04, но я использовал все эти 3 инструмента в Oneiric без проблем!

xmacrorec2 может принять в качестве аргумента ожидаемый ключ (аргумент -k) в качестве кода kei. Это очень вам поможет, если вы захотите поместить вышеописанный скрипт в ваши приложения запуска, потому что он не будет каждый раз запрашивать ключ ввода. Чтобы найти соответствующий код ключа, который вы хотите использовать, вы должны установить крошечную программу xbindkeys:

sudo apt-get install xbindkeys

Затем выполните:

touch ~/.xbindkeysrc
xbindkeys -k

После последней команды , появится небольшое окно, ничего не делая с ним, дать ему ввод с клавиатуры, скажем, F7. Вы увидите что-то вроде этого:

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

Обратите внимание на строку:

    m:0x0 + c:73

Код 73 - это код, ожидаемый xmacrorec2. Таким образом, вы можете добавить в вышеприведенный скрипт аргумент -k, например: spawn xmacrorec2 -k 73, и он автоматически запустится. После того, как вы закончили редактирование скрипта, сохраните его в стабильном каталоге (я имею в виду каталог, который вы не будете удалять / перемещать в ближайшее будущее), например ~ / Documents, и дайте ему права на выполнение (щелкните правой кнопкой мыши на нем-> Properties-> Разрешения-> Разрешить выполнение файла как программы или через терминал chmod +x script_name.sh). Затем просто добавьте свой скрипт в Startup Applications . Конечно, всякий раз, когда вы хотите, чтобы этот звук прекратился, вы должны будете дать соответствующий ввод с клавиатуры, например F7.

PS: Если вы не хотите устанавливать дополнительный mp3-плеер из командной строки (например, mpg321), то вы можете использовать предустановленный плеер canberra-gtk-play, который используется как

canberra-gtk-play -f music.wav
[ 1132] Недостатком является то, что он может воспроизводить только определенные файлы ogg и wav.

0
ответ дан 6 January 2017 в 21:56

Другие вопросы по тегам:

Похожие вопросы: