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

时间:2009-12-17 06:20:00

标签: php python beep synthesizer

这个python代码的PHP版本是什么?

import winsound
winsound.Beep(537, 2000)

5 个答案:

答案 0 :(得分:6)

php主要用于网络服务器,所以在那里使用的是什么,并且你不能通过php在用户计算机上发出哔哔声,因为php被翻译成HTML,没有这样的方法。

如果您想让Win32通话看看:How do I make Win32 API calls from PHP? 也是Win32 Beep Function

但是如果你想在用户浏览器上发出更好的哔声embed audio into the HTML本身。

修改:Another method for just the beep

<?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;
  }
?>

当通过浏览器运行时,这不会做任何事情,如果在shell中运行,它将产生可听见的蜂鸣声$ int_beeps次。这应该适用于Windows,Unix等。

答案 1 :(得分: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确保它只闪烁到任务栏。

答案 2 :(得分:1)

更新:没关系,我以为你只是想要'嘟嘟',而不是TONE。

老帖子,没有回答这个问题:

你需要制作一个.bat文件,所以: 打开cmd

copy con go.bat [Enter]
@echo off [Enter]
echo [Ctrl+G] [Enter]
[Ctrl+Z] [Enter]

这看起来像:

C:\DEV\test>copy con go.bat
@echo off
echo ^G
^Z
    1 file(s) copied.

现在你只需通过exec()或system()或其他东西从PHP调用go.bat。你需要通过cmd制作go.bat,以使Ctrl + G字符正确。

答案 3 :(得分:0)

当然人们用PHP编写GUI应用程序 - 这就是wxPHP的用途。

安装mpg321 - 一个很小的声音应用程序:

exec("mpg321 --quiet --gain 10 /path/to/beep.mp3");

答案 4 :(得分:0)

这与标准/内置的提示音一起使用。 (更多的“嘟嘟”声)

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

超级简单的复制粘贴代码。

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