4 votes

Comment faire en sorte que PHP émette un son (bip) ?

Quelle est la version PHP de ce code python ?

import winsound
winsound.Beep(537, 2000)

9voto

Priyank Bolia Points 3825

Php est surtout utilisé sur les serveurs web, alors à quoi bon bipper là, et vous ne pouvez pas bipper sur l'ordinateur de l'utilisateur via php, car php est traduit en HTML, qui n'a pas cette méthode.

Si vous voulez avoir des appels Win32, jetez un coup d'oeil à : Comment faire des appels à l'API Win32 depuis PHP ? également le Fonction bip Win32

Mais si vous voulez avoir un bip sonore sur le navigateur de l'utilisateur mieux intégrer le son dans le HTML lui-même.

Editar: Une autre méthode pour juste le bip :

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

Cela ne fera rien si vous l'exécutez via un navigateur, si vous l'exécutez via un shell, il produira un bip sonore $int_beeps fois. Cela devrait fonctionner sous Windows, Unix, etc.

1 votes

Croyez-le ou non, mais il est même possible de créer des applications de bureau avec PHP et GTK+...

0 votes

Oui il existe une application winbinder permettant de créer des applications desktop avec php :)

0 votes

Je sais, mais j'ai utilisé le mot "principalement", je n'ai jamais vu quelqu'un écrire une application de bureau avec PHP.

3voto

Mason Points 91

Celui-ci fonctionne avec le bip sonore standard/intégré. (plutôt un son "doink")

Fonctionne également sur n'importe quelle plateforme.

Super simple, copier-coller le code.

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

2voto

daveloop Points 11

J'ai essayé ce que Tor Valamo a suggéré, mais je n'ai toujours pas réussi à faire jouer le son.

J'obtenais simplement une représentation du chr(7) sur mon écran mais aucun son lorsque j'utilisais :

system('cmd /k go.bat')

Et je n'obtiendrais rien du tout si je me servais :

exec('cmd /k go.bat')

A la place, j'ai utilisé l'un ou l'autre :

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

le seul effet secondaire est qu'un cmd.exe clignote, donc le /MIN assure qu'il ne clignote que dans la barre des tâches.

1voto

Tor Valamo Points 14209

Mise à jour : Pas de problème, je pensais que vous vouliez juste un 'bip', pas une TONalité.

Vieux poste, ne répondant pas à la question :

Vous devez créer un fichier .bat : Ouvrez cmd

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

Ça ressemble à ça :

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

Maintenant, vous appelez go.bat depuis PHP via exec() ou system() ou autre. Vous devez cependant lancer go.bat via cmd, pour que le caractère Ctrl+G soit correct.

0 votes

Mais vous ne pouvez toujours pas voir la fréquence et la durée, vous devez utiliser l'API Win32 Beep pour cela.

0voto

Dave Kimble Points 1

Bien sûr, les gens écrivent des applications graphiques en PHP - c'est à cela que sert wxPHP.

Installez mpg321 - une petite application sonore :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X