Вопрос или проблема
Я знаю, это звучит как странная идея, но мне хочется поэкспериментировать с этим.
За последние несколько месяцев я как бы превратил Ubuntu в своего рода Франкенштейна, но, что бы вы мне ни сказали, это все равно должно работать.
Хм, довольно хакерское решение, но оно работает! Прежде всего установите следующие пакеты:
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 аргумент) в виде кода клавиши. Это очень полезно, если вы хотите добавить вышеупомянутый скрипт в автозагрузку, потому что он не будет запрашивать ввод клавиши каждый раз. Чтобы найти соответствующий код клавиши, который вы хотите использовать, вам нужно установить маленькую программу xbindkeys
:
sudo apt-get install xbindkeys
Затем выполните:
touch ~/.xbindkeysrc
xbindkeys -k
После последней команды появится небольшое окно, не делая с ним ничего, введите с клавиатуры, скажем, F7. Вы увидите что-то вроде этого:
Вы можете использовать одну из двух строк после "NoCommand"
в $HOME/.xbindkeysrc, чтобы связать клавишу.
"(Scheme function)"
m:0x0 + c:73
F7
Обратите внимание на строку:
m:0x0 + c:73
Код 73
— это тот, который ожидает xmacrorec2. Итак, вы можете добавить в вышеупомянутый скрипт аргумент -k, например: spawn xmacrorec2 -k 73
, и он автоматически начнет. После окончания редактирования скрипта сохраните его в стабильной директории (я имею в виду директорию, которую вы не собираетесь удалять/перемещать в ближайшем будущем), например, ~/Documents, и дайте ему права на выполнение (правый клик по нему -> Свойства -> Права доступа -> Разрешить выполнение файла как программы, или через терминал: chmod +x script_name.sh
). Затем просто добавьте свой скрипт в Автозагрузку. Конечно, когда бы вы ни захотели, чтобы этот звук остановился, вам придется ввести соответствующий ввод с клавиатуры, например F7
.
PS: Если вы не хотите устанавливать дополнительный проигрыватель mp3 через командную строку (как mpg321
), вы можете использовать предустановленный проигрыватель canberra-gtk-play
, который используется как
canberra-gtk-play -f music.wav
Недостаток в том, что он может воспроизводить только определенные ogg и wav файлы.
Вот что я использую для получения сообщений о нажатии левой и правой кнопки мыши:
#!/bin/sh
expect -c '
spawn xmacrorec2
set timeout -1
expect "ButtonPress 1" {
system mpg321 '~/lclick.mp3' &
exp_continue } \
"ButtonPress 3" {
system mpg321 '~/rclick.mp3' &
exp_continue }
'
Ответ или решение
Как воспроизвести звук по клику мышью в Ubuntu: Полное руководство
Экспериментировать с вашей ОС всегда интересно, особенно когда речь идет о добавлении необычных звуковых эффектов. Если вы хотите, чтобы звук воспроизводился каждый раз при клике мыши, вы можете реализовать эту идею в Ubuntu с помощью нескольких дополнительных инструментов. В этом руководстве мы рассмотрим, как сделать это эффективно.
Шаг 1: Установка необходимых инструментов
Для начала вам потребуется установить несколько пакетов, которые помогут в реализации вашей идеи. Откройте терминал и выполните следующую команду:
sudo apt-get install xmacro expect mpg321
- xmacro – программа для отслеживания кликов мышью.
- expect – утилита, которая будет слушать вывод от xmacro и запускать воспроизведение звука.
- mpg321 – командный MP3-плеер.
Шаг 2: Создание скрипта
Создайте новый скрипт, который будет отслеживать клики мыши и воспроизводить звук. Введите в терминале:
touch ~/mouse_click_sound.sh
chmod +x ~/mouse_click_sound.sh
Откройте скрипт в текстовом редакторе, например, gedit
:
gedit ~/mouse_click_sound.sh
Запишите в него следующий код:
#!/usr/bin/expect -f
spawn xmacrorec2
while { 1 } {
expect "ButtonRelease 1"
system mpg321 /путь/к/вашему/звуку/lclick.mp3 &
expect "ButtonRelease 3"
system mpg321 /путь/к/вашему/звуку/rclick.mp3 &
}
Убедитесь, что вы подставили правильный путь к звуковым файлам lclick.mp3
и rclick.mp3
(звук для левого и правого клика соответственно).
Шаг 3: Запуск скрипта
Чтобы запустить скрипт, просто введите в терминале:
~/mouse_click_sound.sh
Обратите внимание: После запуска скрипта, он будет работать в фоновом режиме и воспроизводить звук при каждом клике.
Шаг 4: Остановка скрипта
Во время выполнения скрипта его можно остановить, нажав на заранее установленную клавишу. Чтобы избежать постоянного запроса на ввод клавиши при каждом запуске скрипта, можно использовать дополнительный инструмент – xbindkeys
.
Установите его с помощью следующей команды:
sudo apt-get install xbindkeys
После этого создайте файл конфигурации:
touch ~/.xbindkeysrc
xbindkeys -k
При нажатии клавиши (например, F7) вы увидите код клавиши. Воспользуйтесь им для изменения вашего скрипта, добавив параметр -k
. Пример:
spawn xmacrorec2 -k 73
Шаг 5: Добавление скрипта в автозагрузку
Если вы хотите, чтобы скрипт запускался автоматически при загрузке системы:
- Найдите программу "Автозагрузка приложений" в меню вашей системы.
- Добавьте новый пункт с указанием пути к вашему скрипту
~/mouse_click_sound.sh
.
Альтернативные плееры
Если вы не хотите устанавливать mpg321
, вы можете использовать системный плеер canberra-gtk-play
:
canberra-gtk-play -f /путь/к/вашему/звуку/music.wav
Однако имейте в виду, что он поддерживает только определенные форматы файлов (обычно wav и ogg).
Заключение
С помощью описанных шагов вы сможете воспроизводить звук при кликах мышью в Ubuntu. Этот подход не только добавляет интерактивности, но и может служить отличной основой для дальнейших экспериментов с аудиоэффектами в вашей системе. Удачи в ваших начинаниях!