如何让PHP输出声音(哔声)?

4 投票
7 回答
22403 浏览
提问于 2025-04-15 17:07

这个Python代码在PHP中怎么写?

import winsound
winsound.Beep(537, 2000)

7 个回答

2

我试了Tor Valamo建议的方法,但声音还是没法播放。

当我使用下面的代码时,我的屏幕上只显示了chr(7)的表示,但没有声音:

system('cmd /k go.bat')

如果我使用下面的代码,就什么都没有了:

exec('cmd /k go.bat')

所以我改用了以下任意一种:

exec('start /MIN go.bat')
exec('cmd.exe /k start /MIN go.bat')

唯一的副作用是cmd.exe会闪一下,所以使用/MIN可以确保它只在任务栏上闪烁。

3

这个方法使用的是标准的内置哔声。(听起来更像是“咚”的声音)

在任何平台上都可以使用。

非常简单,只需复制粘贴代码就可以了。

function beep()
{
    fprintf ( STDOUT, "%s", "\x07" );
}

9

PHP主要是在网络服务器上使用的,所以在那儿发出哔哔声有什么用呢?而且你不能通过PHP在用户的电脑上发出声音,因为PHP会被转换成HTML,而HTML没有这种功能。

如果你想使用Win32的功能,可以看看这个链接:如何从PHP调用Win32 API? 还有这个链接:Win32发声函数

不过,如果你想在用户的浏览器中发出声音,最好是直接把音频嵌入到HTML里

补充一下:还有一种方法可以发出哔哔声

<?php
  function beep ($int_beeps = 1) {
    for ($i = 0; $i < $int_beeps; $i++): $string_beeps .= "\x07"; endfor;
    isset ($_SERVER['SERVER_PROTOCOL']) ? false : print $string_beeps;
  }
?>

这个在浏览器中运行时不会有任何反应,但如果在命令行中运行,它会发出$int_beeps次可听的哔哔声。这在Windows、Unix等系统上都应该可以工作。

撰写回答