使用PHP服务源启用音频搜索HTML5音频和MediaElement.js播放器

时间:2013-08-22 00:19:39

标签: mediaelement.js

我设置了一个带有MediaElement.js的MP3音频播放器,它不允许我搜索,而mediaelementjs.com上的演示确实允许搜索。我没有看到任何关于在网站上寻求启用的选项或指示。它为什么不寻求?

我正在使用版本2.13.1。这是代码(包含的js和css文件除外):

<audio controls="control" preload="auto" src="sound.mp3" type="audio/mp3"></audio>
<script>
$('audio').mediaelementplayer();
</script>

编辑:我发现问题是我如何通过PHP提供音频文件。我以前没有提到这个,但我已经改变了问题标题以包括这个。 MP3文件通过PHP readfile()提供,以防止非成员下载。

1 个答案:

答案 0 :(得分:3)

如果您通过PHP为HTML5音频元素和其他播放器(如MediaElement.js)提供音频文件,则需要包含以下标题才能使用:

<?php header('Accept-Ranges: bytes'); ?>

这是我的php来提供文件:

if(file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$filename);
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');
    flush();
    readfile($file);
    exit();
}

当然,你需要设置$ file(文件路径)和$ filename(只是文件名)。

相关问题