Domanda

Vorrei essere in grado di convertire file audio in MP3 sul browser degli utenti al volo. Il software che sto usando è: Apache, PHP & amp; FFMPEG su un sistema Ubuntu. Ecco il codice che ho finora:

<?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 -');
?>

Con questo codice, vengono convertiti solo i primi secondi dell'audio, tuttavia, quando commento le funzioni di intestazione, il file audio viene completamente convertito ma tutti i dati binari vengono passati allo schermo (anziché racchiusi nella browser mp3 player).

Qualche idea?

È stato utile?

Soluzione

Beh, ho trovato la risposta. Devi calcolare la dimensione del flusso di output e generare la seguente intestazione (prima dell'output del flusso audio):

header("Content-Length: {$calculatedFileSize}"); 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top