【发布时间】:2011-04-28 15:32:59
【问题描述】:
我建立了一个 mp3 播放网站。
我使用 Flash mp3 播放器播放 mp3 文件。它可以播放,但无法加载正确的时间,并且无法流式传输和缓冲位于我的服务器上的 mp3 文件。
如果 url 来自其他站点,例如 Google 音乐,它可以正确播放 mp3 文件。
我认为重要的问题是mp3文件的头输出。
这是我的 php 文件输出 mp3 文件的代码。
<?php
$filename='music/'.$_GET['id'].'.mp3';
$fileSize=filesize($filename);
header('Accept-Ranges: bytes');
header('Cache-Control: max-age=604800');
header('Content-Length: ' . $fileSize);
header('Content-type: audio/mpeg');
readfile($filename);
?>
谁能告诉我是什么问题?
PS:您可以在 Chrome 上进行测试。只需使用 Chrome 打开文件或页面,它就会显示一个播放器来播放 mp3 文件。
【问题讨论】:
-
可流式和不可流式文件最不同的是:如果你用Chrome打开mp3文件,可以看到加载状态(蓝色的),你可以随时随地播放(使用滚动条)。如果打开不可流式播放的 mp3 文件,您将看不到加载状态,也无法在任何时间播放。
-
其实我试过 fopen() 和 readfile() 两个都不起作用
标签: php header stream mp3 buffer