通过PHP将动态mp3数据使用到嵌入式播放器中不起作用

Using dynamic mp3 data into embedded player via PHP not working

本文关键字:嵌入式 播放器 不起作用 PHP 动态 mp3 数据 通过      更新时间:2023-09-26

我有一个嵌入式mp3播放器,我正在网页中运行。当我加载物理 mp3 的路径作为文件 url 时,它工作得很好,但是当我尝试从 php 端点加载 mp3 二进制数据时,它失败了。

以下是我通过PHP输出MP3数据所做的工作:

//Begin writing headers
header( 'Pragma: public' );
header( 'Expires: 0' );
header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
header( 'Cache-Control: public' );
header( 'Content-Description: File Transfer' );
header( 'Content-Type:audio/mpeg');
header( 'Content-Disposition: inline;');
header( 'filename=SoundFile.mp3' );
header( 'Content-Transfer-Encoding: binary' );
//supply the length
$len = strlen($res['ReturnValue']);
header( 'Content-Length: ' . $len );
echo $res['ReturnValue']; exit();
// $res['ReturnValue'] is the actual binary data of the mp3

此外,当我在浏览器中运行该php代码时,它会导致正确名称和文件大小的文件下载,但是文件本身不会在任何内容(iTunes/winamp/等(上播放,就好像它已损坏一样。

我做错了什么,导致它无法在嵌入式 mp3 播放器中播放?

字节数据没有正确输出给我,因此,我的标头不是问题。