How to make PHP output a sound (beep)?

烂漫一生 提交于 2019-12-24 00:53:14

问题


What's the PHP verson of this python code?

import winsound
winsound.Beep(537, 2000)

回答1:


php is mostly used on webservers, so what the use beeping there, and you can't beep on user computer through php, as php is translated into HTML, which has no such method.

If you want to have Win32 calls have a look at: How do I make Win32 API calls from PHP? also the Win32 Beep Function

But if you want to have beep sound on user browser better embed audio into the HTML itself.

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

This will not do anything when running through a browser, if running through a shell it will produce an audible beep $int_beeps times. This should work on Windows, Unix, etc.




回答2:


I tried what Tor Valamo suggested, but I still couldn't get the sound to play.

I would simply get a representation of the chr(7) on my screen but no sound when I used:

system('cmd /k go.bat')

And I would get nothing at all if I used:

exec('cmd /k go.bat')

Instead i used either of:

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

the only side effect is that a cmd.exe does flash, so the /MIN ensures that it only flashes to the taskbar.




回答3:


Update: Never mind, I thought you just wanted a 'beep', not a TONE.

Old post, not answering the question:

You'd need to make a .bat file, so: Open cmd

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

This looks like:

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

Now you just call go.bat from PHP through exec() or system() or something. You need to make go.bat through cmd though, in order for the Ctrl+G character to be correct.




回答4:


Of course people write GUI apps in PHP - that's what wxPHP is for.

Install mpg321 - a tiny sound app:

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


来源:https://stackoverflow.com/questions/1919826/how-to-make-php-output-a-sound-beep

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!