搜索之后,似乎没有人遇到类似的问题:如何使用erlang语言发出声音?
我正在使用erlang编写程序,因此,只要程序中发生任何错误,都应该会发出某种警报声音。
谢谢你的帮助。
最佳答案
您可以通过输出ASCII响铃字符(代码7)来响铃终端响铃:
io:format("\007\n").
(请注意,即使在C语言中,
\a
也不是响铃字符的转义序列)由于某种原因,这在“新的” Erlang shell中不起作用。它只输出
^G
。我通过以下方式使其工作:通过使用“旧” shell
erl -oldshell
显式启动Erlang,然后在 shell 中键入io:format
调用,来生成通过在命令行上指定调用
erl -noinput -eval 'io:format("\007\n")' -eval 'init:stop()'
#!/usr/bin/env escript
-export([main/1]).
main(_) ->
io:format("\007\n").
如果终端机不是您想要的音频类型,我怀疑您将必须找到一个依赖于系统的解决方案来调用音频驱动程序或其他某种方式。 (或者使用
os:cmd
播放所需的音频文件。)
关于audio - 如何使用erlang语言发出声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44175344/