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 回答