Воспроизведение звуковых сигналов с терминала

13

Есть ли способ воспроизводить звуки оповещения OSX из терминала? Звуки оповещений, которые перечислены в Системных настройках> Звук> Вкладка «Звуковые эффекты»

system64
источник

Ответы:

20

Если в настройках терминала в разделе «Дополнительно» включен «звуковой звонок», управляющие символы BEL будут звучать по умолчанию.

Чтобы попробовать это, введите echoкоманду, а затем control+ v control+ g. Если вы напечатаете это правильно, это будет выглядеть так:

$ echo ^G

и когда вы нажмете return, предупреждение будет звучать.

( control+ vэто экранирование оболочки для сразу следующего управляющего символа.)

afplayКоманда также может быть использована для воспроизведения конкретного звукового файла:

$ afplay /System/Library/Sounds/Funk.aiff 
zigg
источник
Я использую это для воспроизведения звуков в MAMP PRO: <? passthru ('/ usr / bin / afplay /System/Library/Sounds/Sosumi.aiff'); ?>
EDP
7

Другой вариант с меньшим количеством клавиш-модификаторов - использовать команду tput bel.

Nagel
источник
Мне понравился этот ответ, потому что я отключил «звуковой звонок» в настройках своего терминала, но tput belвызывает «визуальный звонок», так что я все еще получаю предупреждение, которое хочу без шумного
Purefan
4

Мне нравится решение Зигга. Чтобы это было коротко, я сделал это:

В /Users/{username}/.bash_profileдобавить строку

alias taskready='afplay /System/Library/Sounds/Hero.aiff'

Выйдите из терминала и откройте терминал. Теперь вы можете использовать сокращенную команду taskready.

Вы можете выбрать из:

Basso.aiff  Frog.aiff   Hero.aiff   Pop.aiff    Submarine.aiff
Blow.aiff   Funk.aiff   Morse.aiff  Purr.aiff   Tink.aiff
Bottle.aiff Glass.aiff  Ping.aiff   Sosumi.aiff
Matt
источник
2
doneиспользуется в bash для закрытия циклов for / while, может быть, лучше использовать другое имя
nohillside
@ nohillside, к счастью, пока проблем не было ... спасибо! У вас есть предложение короткого ключевого слова?
Мэтт
1
См. man bashВсе ключевые слова, которых следует избегать :-)
nohillside
2

Еще один способ подать звуковой сигнал echo -e '\a'

wisbucky
источник