python 如何让PHP输出声音(beep)?

disbfnqx  于 2023-06-04  发布在  Python
关注(0)|答案(7)|浏览(140)

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

import winsound
winsound.Beep(537, 2000)
hs1ihplo

hs1ihplo1#

php主要是在web服务器上使用的,所以在那里发出哔哔声有什么用,你不能通过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等上运行。

xzlaal3s

xzlaal3s2#

我尝试了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会 Flink ,因此/MIN确保它只 Flink 到任务栏。

nr9pn0ug

nr9pn0ug3#

这一个工程与标准/内置蜂鸣声。(更多的是'doink'的声音)
也适用于任何平台。
超级简单,复制粘贴代码。

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

wfypjpf44#

更新:没关系,我以为你只是想要一个“哔”声,而不是一个音调。
老帖子,不回答问题:
你需要创建一个.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字符正确。

qojgxg4l

qojgxg4l5#

当然,人们用PHP编写GUI应用程序--这就是wxPHP的用途。
安装mpg 321-一个微小的声音应用程序:

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

dvtswwa36#

EZ方式😊:
您可以从html获得帮助:

echo "<audio src='http://freesoundeffect.net/sites/default/files/incorrect-answer--6-sound-effect-99679566.mp3' autoplay ></audio>";

此代码在后台播放蜂鸣声,您可以更改.mp3文件

a0zr77ik

a0zr77ik7#

这会产生一个哔哔声,但不像winsound,不允许你指定frequency, duration ..

function cli_beep()
{
    if (is_callable('ncurses_beep')) {
        ncurses_beep();
        ncurses_flash();
    } else {
        fprintf(STDOUT, "%s", "\x07");
    }
}

相关问题