我希望能够动态地将音频文件转换为MP3到用户浏览器。我使用的软件是:Apache,PHP&在ubuntu系统上的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播放器)。

有什么想法吗?

有帮助吗?

解决方案

我找到了答案。您必须计算输出流大小并输出以下标头(在音频流输出之前):

header("Content-Length: {$calculatedFileSize}"); 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top