Sound wiedergeben

bomberpilotmp3

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem. Ich habe einen Captcha gebaut der auch sehr gut funktioniert. Nun habe ich ein weiteres problem. Ich möchte gerne den dargestellten Captcha in der Grafik als Sound erstellen lassen.

Soweit habe ich mich einen Codeschnipsel gefunden der Sounds (Buchstaben, Zahlen) einzelnd generiert, zu einer WAV Datei verarbeitet und diese per Download an den Browser sendet.

Ich habe dazu 3 Fragen:

  1. Kann man diesen Codeschnipsel so umschreiben, das der anstatt wav Dateien, einfach mp3 generiert?
  2. Oder den Codeschnipsel so umschreiben, das der den Sound nicht zum Download angeboten bekommt, sondern direkt abspielt? Zb im Browser, Media Player etc... audio.php?id=bla123
  3. Gibt es vieleicht bessere Alternativen Sounddateien mit PHP nacheinader abzuspielen?

Hier einmal der Codeschnipsel den ich von Simplemaschines habe:

PHP:
<? session_start();
# Copyright by www.simpelmaschines.com

$sound_word = strtolower($sound_word);

# Sound erstellen
function createSoundFile($sound_sprache = 'de-de', $sound_dir = '../sounds', $sound_word = 'abc123')
{
	  for ($i = 0; $i < strlen($sound_word); $i ++)
	  {
		  $sound->implode = implode('', file($sound_dir.'/sound_'.$sound_sprache.'_'.$sound_word{$i}.'.wav'));
		  $sound->word .= substr($sound->implode,strpos($sound->implode, 'data') + 8).str_repeat(chr(0x80),rand(700, 710) * 8);
	  }

	  $sound->header = array(
      0x10,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
      0x40,0x1F,0x00,0x00,0x40,0x1F,0x00,0x00,
      0x01,0x00,0x08,0x00,0x64,0x61,0x74,0x61
	  );

	  $cache->size = strlen($sound->word);
	  $sound->size = $cache->size + (0x24);

	  header('content-Type: audio/x-wav');
    header('content-disposition: attachment; Filename = '.session_id().'.wav');

	  echo ('RIFF'), chr(($sound->size & 0xFF)),
                   chr(($sound->size & 0xFF00) >> 8),
                   chr(($sound->size & 0xFF0000) >> 16),
                   chr(($sound->size & 0xFF000000) >> 24), ('WAVEfmt ');
	
    foreach ($sound->header as $sound->chr)
    {
		  echo chr($sound->chr);
    }
	    echo chr(($cache->size & 0xFF)),
           chr(($cache->size & 0xFF00) >> 8),
           chr(($cache->size & 0xFF0000) >> 16),
           chr(($cache->size & 0xFF000000) >> 24), ($sound->word);
	   die();
}
     createSoundFile('de-de', '../sounds', $_SESSION['image']);
?>

Ich danke für eure Hilfe.
 
Ich habe nochmals in Google einige Informationen dazu suchen wollen. Leider ohne Erfolg. Vieleicht finden sich User, die schon etwas darüber wissen, bzw. schonmal damit zutun hatten :-)
 
Zuletzt bearbeitet:
Zurück