Wie konvertieren Sie Audiodateien (on the fly) an den Browser?
Frage
würde Ich mag Lage sein, Audio-Dateien in MP3-on the fly auf den Benutzer-Browser zu konvertieren. Die Software Ich benutze ist: Apache, PHP & FFMPEG auf einem Ubuntu-System. Hier ist der Code Ich habe so weit:
<?php
header("Content-Transfer-Encoding: binary");
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
passthru('ffmpeg -i song.flac -v 0 -ab 320k -f mp3 -');
?>
Mit diesem Code wird nur die ersten paar Sekunden des Audio umgewandelt werden, aber wenn ich die Header-Funktionen aus kommentieren ist die Audiodatei vollständig umgesetzt, aber alle binären Daten werden an den Bildschirm durchlaufen (statt gewickelt von in dem Browser-mP3-Player).
Alle Gedanken?
Lösung
Nun, ich fount die Antwort. Sie müssen die Größe des Ausgabestrom berechnen und gibt die folgenden Header (vor der Audio-Stream-Ausgabe):
header("Content-Length: {$calculatedFileSize}");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow