在本机浏览器播放器中流式传输 mp3 文件

Streaming mp3 files in native browser player

我正在尝试在两个浏览器中打开 mp3 文件 - Chrome 和使用 Laravel 控制器的 Firefox。问题是我无法正常播放这个文件。在 Firefox 中,我收到消息“找不到支持格式和 MIME 类型的视频”

在Chrome中,文件可以在原生播放器中打开,但播放器不让我滚动文件进度条。

浏览器似乎将该文件视为视频文件,而不是 MP3。我试图通过更改 headers 来操纵它,但我所能做的就是下载文件。这是用于打开文件的控制器的代码。

$headers = [
    'Content-Type' => 'audio/mpeg',
    'Content-length' => Storage::disk('s3')->size($filepath),
    'Content-Disposition' => 'inline; filename="my_file.mp3"',
    'Content-Transfer-Encoding' => 'binary',
    'Cache-Control' => 'no-cache',
    'X-Pad' => 'avoid browser bug',
];
return response()->make(Storage::disk('s3')->get($filepath), 200, $headers);

我将非常感谢任何解决方案。

也许有人会和我有同样的情况。问题是文件编解码器。在我的例子中,它应该是 MPEG Layer III。在 Linux 终端中,您可以通过命令“file [filename.mp3]”

检查它