我只希望 Mac OS X 10.6 在 open suse 和其他发行版中发出硬件哔声。我尝试了以下方法
终端 -> beep = -bash: beep: command not found
终端->说哔声=声音发出哔声(不是硬件哔声,但很棒;))
applescript -> beep = Macintosh 铃声(我想要一个硬件哔声!)
有人知道如何在 bin/bash 或 applescript 中使硬件发出哔哔声吗?
我只希望 Mac OS X 10.6 在 open suse 和其他发行版中发出硬件哔声。我尝试了以下方法
终端 -> beep = -bash: beep: command not found
终端->说哔声=声音发出哔声(不是硬件哔声,但很棒;))
applescript -> beep = Macintosh 铃声(我想要一个硬件哔声!)
有人知道如何在 bin/bash 或 applescript 中使硬件发出哔哔声吗?
tput bel
适用于大多数外壳。
在 OS X 中,如果在终端不在前台时执行该命令,则此(以及任何其他使铃声响起的命令)也会为您提供徽章:
打印\a
并不总是适合我(MBA,10.7.4)。我改用这个:
say "beep"
确实,以下内容是有效的,并且有些旋律:
say -v Bells "dong dong dong"
[更新] 不幸的是,Bells 不再包含在最新的 OS X 中。尝试:
say -v Victoria Do your homework!
使用以下内容探索声音:
say -v \?
写echo ^G
在bash中。创建^G
新闻ctrl+v
,然后ctrl+g
。
这将循环播放所有声音(适用于优胜美地):
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
afplay
我很惊讶没有人提到afplay
:那是播放任意声音文件的命令行程序。自从 OS X 的最初版本(和 NeXTSTEP,如果你的记忆这么长的话)就已经存在了。
例如,您可以从命令行运行它或将其放入脚本中:
$ afplay /System/Library/Sounds/Ping.aiff
您不仅限于系统声音;使用的一个优点afplay
是您可以选择自己的声音文件作为警报。例如,您可以下载其中一个声音文件并选择您喜欢的。
(如果您能找到 Teletype 33 型铃铛的录音,则加分!)
macOS 中没有“硬件哔声”。
您正在考虑的功能是非常古老(1990 年代之前)IBM PC 兼容硬件的产物。在大多数计算机有声卡之前,大多数机器都有一个小型扬声器或压电蜂鸣器,连接到定时器芯片的一个通道。这可用于生成简单的音调或哔哔声。即使在许多计算机集成了声卡之后,计算机将此输出路由到单独的内部扬声器仍然很常见。最近,许多计算机,尤其是笔记本电脑,已将此功能集成到板载声卡中。
(如果您对 PC 扬声器接口如何工作的技术细节感到好奇,这里有更多细节。)
苹果电脑中从未有过这种硬件。唯一可用的音频输出是通过声卡,macOS 中唯一的系统哔声是用户的警报声。
在终端类型中:
回声 -e "\a"
-e 参数告诉 echo 处理转义字符。因为 \n 是换行符,所以 \a 是响铃(与 Ctrl+G 相同)。
在 OS X 终端下,执行命令:osascript -e 'beep'
使用 OSA(Open Script Architecture)技术告诉 AppleScript 执行命令beep
。
printf "\a"
如果您查看man printf
,它会为您提供转义字符列表,包括\a
:
\a Write a <bell> character.
如果您需要某些东西,那听起来很“重要”
您可以使用
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
:)
printf "\a"
也可以在终端中使用,并将播放设置的警报声音。
在 MacOS X 上,必须激活“声音警告”选项(终端/首选项)才能获得声音。
这对我有用(mac os 10.14.6)
echo "\x07"
如果您安装了 XCODE,您可以发出哔声/铃声。我还没有想到我可以使printf "\a"
角色在 C 中工作。
有一种方法可以在程序运行时使音调起作用,启动 XCODE,在 XCODE、首选项、行为下的下拉菜单,选中第一个框 PLAY SOUND,从列表中选择或添加声音。
这是一种方法,但我相信只有在程序运行时。
osascript -e 'tell application "System Events"
发出哔哔声'
如需更多选择,请聆听并挑选
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