3

オーディオ ファイルを MP3 に変換して、その場でユーザーのブラウザに送信できるようにしたいと考えています。私が使用しているソフトウェアは、ubuntu システム上の Apache、PHP、および FFMPEG です。これが私がこれまでに持っているコードです:

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

このコードでは、オーディオの最初の数秒だけが変換されますが、ヘッダー関数をコメント アウトすると、オーディオ ファイルは完全に変換されますが、すべてのバイナリ データは画面に渡されます (ブラウザーの mp3 プレーヤーでラップされるのではなく)。 )。

何かご意見は?

4

1 に答える 1

2

さて、私は答えを見つけました。出力ストリームのサイズを計算し、(オーディオ ストリーム出力の前に) 次のヘッダーを出力する必要があります。

header("Content-Length: {$calculatedFileSize}"); 
于 2009-10-22T21:02:34.723 に答える