ubuntuusers.de

PHP+Bash: Sound abspielen auf einem Server

Status: Ungelöst | Ubuntu-Version: Kubuntu 17.04 (Zesty Zapus)
Antworten |

megadrive

Avatar von megadrive

Anmeldungsdatum:
31. Oktober 2008

Beiträge: 11

Hallo, ich habe folgendes Problem: Für eine kleine Kunstinstallation ist es nötig, dass Menschen eine Website mit ihrem Smartphone aufrufen, einen Knopf drücken und dann auf dem Rechner, der den Server zu besagter Website hostet (ein einfaches Notebook), ein Soundfile abgespielt wird.

"Kein Problem", dachte ich mir und baute folgenden simplen Aufbau mit PHP und Bash:

Zuerst die Website mit dem Button:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<html>
  <head>
    <title></title>
  </head>
  <body>
  
  <form action="./sound.php">
    <input type="submit" value="Open Script">
</form>
  
  </body>
</html>

... die dazugehörende, total simple, PHP-Datei:

1
2
3
4
<?php
shell_exec("./play.sh");
header('Location: ./index.html?success=true');
?> 

...die das ebenfalls sehr simple Bash-Script ausführt:

1
2
3
4
#!/bin/bash

touch ./testfile 
aplay Quack.wav

Soweit so gut. Die gute Nachricht ist, dass dieser Aufbau im Prinzip schon mal funktioniert, denn das testfile wird korrekt angelegt. Leider höre ich aber keinen Sound. Es ist mir ein Rätsel warum der aplay-Befehl nicht funktioniert. Starte ich das Script direkt auf dem Rechner, wird der Sound abgespielt.

Noch mal zur Klarstellung: Der Sound soll auf dem Server - also dem Notebook - abgespielt werden.

Ich bin für jede Hilfe dankbar!

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13204

megadrive schrieb:

Soweit so gut. Die gute Nachricht ist, dass dieser Aufbau im Prinzip schon mal funktioniert, denn das testfile wird korrekt angelegt. Leider höre ich aber keinen Sound. Es ist mir ein Rätsel warum der aplay-Befehl nicht funktioniert.

Hast Du mal im Serverlog nach Fehlermeldungen geschaut?

Starte ich das Script direkt auf dem Rechner, wird der Sound abgespielt.

Möglicherweise ist die Umgebung in PHP anders und aplay wird nicht über $PATH gefunden. Hast Du es mal mit dem absoluten Pfad zu aplay versucht? Den kannst Du ermitteln mit type -p aplay, falls Du ihn nicht kennst.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6500

Wohnort: Hamburg

Ich wette der User www-data ist nicht mitglied der Gruppe audio.

Antworten |