2x Audiodateien zusammenfügen

bomberpilotmp3

Erfahrenes Mitglied
Hallo liebe Gemeinde,

ich kann mir vorstellen, das diese Frage für manche ziemlich doof klingt, aber ich versuche es mal. Ich habe mir ein Captcha gebaut. Dieses Captcha funktioniert so, wie es eigendlich soll. Nur ich möchte ein Audiocaptcha erstellen.

Die Passenden Sounds zu den einzelnen Ziffern und Buchstaben habe ich auch. Ich habe bei google etwas gesucht, und nicht wirklich was gefunden. Ich habe mir dann eine Alternative überlegt. Ich meine vom Sinnvollen wäre es doch besser, zb. 2 Audiodaten mit implode() bzw. file() auszulesen und die dann zusammenzufügen.

Ich habe mal sowas gesehen, nur ich habe von den Audio Tags keine Ahnung. Wie ich es bei PHP so anstelle, das er 2 Audiodateien zusammenbaut, weiss ich nicht.

Vieleicht könnt ihr mir helfen, beispiele, Ansätze oder Hilfreiche Links dazu empfehlen.

Danke, Gruß Michael
 
Wave Files kannst du z.B. einfach hintereinander anhängen.. wenn sie die gleiche bitrate &co haben. Mit Mp3 geht das nicht so einfach..
 
Ohne Garantie auf Richtigkeit:
PHP:
<?php
// Pfade zu den Dateien
$paths = array(
        0 => "/path/to/file1.wav",
        1 => "/path/to/file2.wav",
        // ...
    );

// Initialisiere Variablen
$size    = 0;
$content = "";

// Durchlaufe Pfadangaben
foreach ( $paths as $path ) {
    // Wenn Pfadangabe lesbar, dann ändere Zustände
    if ( is_readable( $path ) ) {
        $size    += filesize( $path );
        $content .= file_get_contents( $path );
    }
}

// Header-Angaben vorbereiten
header( "Content-Type: audio/wav" ); // oder audio/x-wav
header( "Content-Length: {$size}" );
// Header ausgeben, Inhalte ausgeben
echo $content;
// Nichts weiter senden
exit;

Funktioniert, wie Michael Engel bereits beschrieb, nur mit unkomprimierten Audiofiles mit identischen Bedingungen.
 
Vielen Dank für eure Hilfe. Habe meine eigene Variante probiert, die von Michael und von dir. Leider hatte das nicht funktioniert. Meist alle wav's sind mit einem header ausgestatettet. Also denke ich, bleibe ich bei der Sichtbaren variante eines Captchas.
 
Hallo, habe das selbe Problem, wie Bomberpilot. Ich will auch ein barrierefreies Captcha erstellen und dazu brauch ich ne Audio-Ausgabe.

Dieses Skript funktioniert bei mir aber nur zum Teil d.h., dass nur die erste Datei im Array abgespielt wird.
Es werden aber leider nicht alle Dateien im Array abgespielt, bzw. anenandergereiht.

Kann mir da jemand weiterhelfen?
 
Die erste Frage vorweg... liegen dir PCM oder RIFF Wave Files vor? mit den RIFF Files wird es auch gehen, aber du musst komplett neue Header schreiben.

Das zusammenkopieren funktioniert nur mit den PCM Files so einfach. Und bei der Generierung dieser Files gab es eben die Probleme. Ich hatte angefangen mit den neuen Headern zu schreiben und die alten zu entschlüsseln, aber fertig war das nie geworden.

Edit: wenn du nicht weißt in welchem Format, öffne die Dateien im Notepade, wenn die ersten 4 Buchstaben RIFF sind, ist es ein Riff ,)
 
Danke für die schnelle Antwort.

Ich bin jetzt etwas verwirrt, denn ich habe bewusst im Windows Audiorecorder mit PCM, Radioqualität, 16 bit, Mono aufgenommen und auch so abgespeichert - damit sie auch schön klein bleibt.
Aber wenn ich die Datei mit dem Texteditor öffne steht RIFF.

Wenn ich dich richtig verstanden habe, müsste ich entweder die neuen Header schreiben (damit kenne ich mich aber leider nicht aus) oder die Datei zu PCM umwandeln. Wie geht das?
 
Zuletzt bearbeitet:
Zurück