198

我只希望 Mac OS X 10.6 在 open suse 和其他发行版中发出硬件哔声。我尝试了以下方法

终端 -> beep = -bash: beep: command not found

终端->说哔声=声音发出哔声(不是硬件哔声,但很棒;))

applescript -> beep = Macintosh 铃声(我想要一个硬件哔声!)

有人知道如何在 bin/bash 或 applescript 中使硬件发出哔哔声吗?

4

17 回答 17

288

tput bel适用于大多数外壳。

在 OS X 中,如果在终端不在前台时执行该命令,则此(以及任何其他使铃声响起的命令)也会为您提供徽章:

于 2011-06-06T18:43:17.720 回答
166

打印\a并不总是适合我(MBA,10.7.4)。我改用这个:

say "beep"
于 2012-07-06T13:17:13.660 回答
112

确实,以下内容是有效的,并且有些旋律:

say -v Bells "dong dong dong"

[更新] 不幸的是,Bells 不再包含在最新的 OS X 中。尝试:

say -v Victoria Do your homework!

使用以下内容探索声音:

say -v \?
于 2013-10-13T22:48:59.787 回答
60

echo ^G在bash中。创建^G新闻ctrl+v,然后ctrl+g

于 2010-06-27T22:10:02.157 回答
38

这将循环播放所有声音(适用于优胜美地):

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done
于 2015-02-19T21:24:15.907 回答
36

播放任意警报声音afplay

我很惊讶没有人提到afplay:那是播放任意声音文件的命令行程序。自从 OS X 的最初版本(和 NeXTSTEP,如果你的记忆这么长的话)就已经存在了。

例如,您可以从命令行运行它或将其放入脚本中:

$ afplay /System/Library/Sounds/Ping.aiff

您不仅限于系统声音;使用的一个优点afplay是您可以选择自己的声音文件作为警报。例如,您可以下载其中一个声音文件并选择您喜欢的。

(如果您能找到 Teletype 33 型铃铛的录音,则加分!)

于 2018-01-27T06:07:07.717 回答
29

macOS 中没有“硬件哔声”。

您正在考虑的功能是非常古老(1990 年代之前)IBM PC 兼容硬件的产物。在大多数计算机有声卡之前,大多数机器都有一个小型扬声器或压电蜂鸣器,连接到定时器芯片的一个通道。这可用于生成简单的音调或哔哔声。即使在许多计算机集成了声卡之后,计算机将此输出路由到单独的内部扬声器仍然很常见。最近,许多计算机,尤其是笔记本电脑,已将此功能集成到板载声卡中。

(如果您对 PC 扬声器接口如何工作的技术细节感到好奇,这里有更多细节。)

苹果电脑中从未有过这种硬件。唯一可用的音频输出是通过声卡,macOS 中唯一的系统哔声是用户的警报声。

于 2017-05-18T19:49:50.847 回答
28

在终端类型中:

回声 -e "\a"

-e 参数告诉 echo 处理转义字符。因为 \n 是换行符,所以 \a 是响铃(与 Ctrl+G 相同)。

于 2011-07-13T08:59:40.063 回答
14

在 OS X 终端下,执行命令:osascript -e 'beep'

使用 OSA(Open Script Architecture)技术告诉 AppleScript 执行命令beep

于 2015-11-04T15:44:22.560 回答
10
printf "\a"

如果您查看man printf,它会为您提供转义字符列表,包括\a

\a      Write a <bell> character.
于 2012-03-19T17:09:12.273 回答
8

如果您需要某些东西,那听起来很“重要”

您可以使用

tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s

:)

于 2016-10-13T23:00:49.603 回答
7

printf "\a"也可以在终端中使用,并将播放设置的警报声音。

于 2014-09-26T17:22:06.660 回答
3

在 MacOS X 上,必须激活“声音警告”选项(终端/首选项)才能获得声音。

于 2013-03-24T09:04:12.840 回答
3

这对我有用(mac os 10.14.6)

echo "\x07"  
于 2020-04-19T22:51:38.377 回答
1

如果您安装了 XCODE,您可以发出哔声/铃声。我还没有想到我可以使printf "\a"角色在 C 中工作。

有一种方法可以在程序运行时使音调起作用,启动 XCODE,在 XCODE、首选项、行为下的下拉菜单,选中第一个框 PLAY SOUND,从列表中选择或添加声音。

这是一种方法,但我相信只有在程序运行时。

于 2012-08-28T23:23:50.573 回答
1

osascript -e 'tell application "System Events"发出哔哔声'

于 2015-08-05T19:25:38.493 回答
-1

如需更多选择,请聆听并挑选

ls /System/Library/Sounds/ | awk '{print $1}' | while read sound; do printf "using $sound...\n"; afplay /System/Library/Sounds/$voice; sleep 0.5; done

ls /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/ | awk '{print $1}' | while read sound; do printf "using $voice...\n"; afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/$sound; sleep 0.5; done
于 2021-12-08T14:28:18.553 回答