Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP提供MP3流_Php_Mp3_Html5 Audio_Audio Streaming - Fatal编程技术网

用PHP提供MP3流

用PHP提供MP3流,php,mp3,html5-audio,audio-streaming,Php,Mp3,Html5 Audio,Audio Streaming,我将做一个简单的调查,用户必须听一些音频(大约20秒一首歌) 我使用HTML5音频标签来收听音频文件 我的音频文件存储在base64的数据库中,当我提供音频时,我会对base64进行解码 每次我加载MP3 url时,我都会得到HTTP状态206或416-不知道我的标题是否错误,我读了很多博客和stackoverflow答案,但找不到正确的方法 如果我在VLC或iTunes中播放URL,它会工作,但当我尝试在HTML音频标签中加载URL时,它不会工作 我的PHP代码 $buffer = base6

我将做一个简单的调查,用户必须听一些音频(大约20秒一首歌)

我使用HTML5音频标签来收听音频文件

我的音频文件存储在base64的数据库中,当我提供音频时,我会对base64进行解码

每次我加载MP3 url时,我都会得到HTTP状态206或416-不知道我的标题是否错误,我读了很多博客和stackoverflow答案,但找不到正确的方法

如果我在VLC或iTunes中播放URL,它会工作,但当我尝试在HTML音频标签中加载URL时,它不会工作

我的PHP代码

$buffer = base64_decode($res['binarydata']);

header("Content-Type: audio/mpeg"); 
header('Cache-Control: no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Content-Length: '.strlen($buffer);
header("Content-Disposition: inline; filename=test42.mp3");
header("Content-Transfer-Encoding: binary\n");
header('Connection: close');

echo $buffer;

不是答案,但为什么要存储文件的base64编码版本而不是二进制数据?重复错误是关于请求脚本没有考虑的范围for@PeeHaa更快:只需存储音频文件路径即可。这取决于@absalon.valdes。将其存储在数据库中是有道理的。不是答案,但是为什么要存储文件的base64编码版本而不仅仅是二进制数据呢?重复错误是关于请求脚本没有考虑的范围for@PeeHaa更快:只需存储音频文件路径即可。这取决于@absalon.valdes。将其存储在数据库中是有道理的。