1

我有以下代码来获取 MP3 文件的内容并根据需要设置标题(?):

$file = fopen("test.mp3","r");
$content = fread($file,filesize("test.mp3"));

header("Content-Type: audio/");
header("Content-Length: " .(string)(filesize("test.mp3")) );

fclose($file);

echo $content;

为了播放文件,我使用了 audiojs ( http://kolber.github.io/audiojs/ )。我的 PHP 文件像普通 MP3 文件一样充当数据源。

audiojs 能够播放此 MP3 文件,但是您可以直观地看到播放器正在缓冲,但您无法跳转到 MP3 文件中已经缓冲的位置。对于真正的 MP3 文件,这是可能的。

为什么不使用充当 MP3 文件的 PHP 文件呢?是 PHP 还是 audiojs 的原因?

我还尝试了以下代码:

// Try and open the remote stream
  if (!$file = fopen("test.mp3","r")) {
    // If opening failed, inform the client we have no content
    header('HTTP/1.1 500 Internal Server Error');
    exit('Unable to open remote stream');
  }

  $stream = stream_get_contents($file);

  // It's probably an idea to remove the execution time limit - on Windows hosts
  // this could result in the audio stream cutting off mid-flow
  set_time_limit(0);

  // Inform the client we will be sending it some MPEG audio
  header("Content-type: audio");
  header("Content-Length: ".(string)(filesize("test.mp3")) );
  header("Content-transfer-encoding: binary");

  // Send the data
  fpassthru($stream);

两者都不起作用:(有机会吗?我真的需要这个功能来处理权限主题。或者除了.htaccess之外还有其他选择吗?

卡坦2

4

0 回答 0