Audio 如何使用erlang语言发出声音?

Audio 如何使用erlang语言发出声音?,audio,erlang,Audio,Erlang,经过搜索,似乎没有人会有这样的问题:如何使用erlang语言发出声音 我正在使用erlang编写一个程序,因此每当程序中出现错误时,都会发出某种警报声。 谢谢您的帮助。您可以通过输出ASCII铃声字符(代码7)来敲响终端铃声: (请注意,\a不是Erlang中bell字符的转义序列,即使它是C。) 出于某种原因,这在“新”Erlang shell中不起作用;它只输出^G。我通过以下方式让它工作: 通过显式地使用“旧”shell、erl-oldshell,然后在shell中键入io:format

经过搜索,似乎没有人会有这样的问题:如何使用erlang语言发出声音

我正在使用erlang编写一个程序,因此每当程序中出现错误时,都会发出某种警报声。
谢谢您的帮助。

您可以通过输出ASCII铃声字符(代码7)来敲响终端铃声:

(请注意,
\a
不是Erlang中bell字符的转义序列,即使它是C。)

出于某种原因,这在“新”Erlang shell中不起作用;它只输出
^G
。我通过以下方式让它工作:

  • 通过显式地使用“旧”shell、
    erl-oldshell
    ,然后在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
播放所需的音频文件。)

您可以通过输出ASCII铃声字符(代码7)来敲响终端铃声:

(请注意,
\a
不是Erlang中bell字符的转义序列,即使它是C。)

出于某种原因,这在“新”Erlang shell中不起作用;它只输出
^G
。我通过以下方式让它工作:

  • 通过使用“old”shell显式启动Erlang,
    erl-oldshell
    ,然后在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
播放您想要的音频文件。)

我为OpenAL 1.1(3d声音库)编写了一个接口。它应该可以在Linux上运行,不过如果您想让它在Windows上运行,可能需要对编译进行一些小的更改。不管怎么说,这可能是对你所做的事情的过度杀伤力

您可以将音频存储为原始(使用audacity制作文件)并将其馈送给OpenAL


参考一下。

我为OpenAL 1.1(3d声音库)编写了一个接口。它应该可以在Linux上运行,不过如果您想让它在Windows上运行,可能需要对编译进行一些小的更改。不管怎么说,这可能是对你所做的事情的过度杀伤力

您可以将音频存储为原始(使用audacity制作文件)并将其馈送给OpenAL

有关参考信息,请参见。

另请参见。另请参见。