我一直在尝试使用单独的php文件来提供实际的mp3文件。因此,不要将实际文件路径放在JWPlayer中,例如:
player.load('http://www.mydomain.com/music/mysong.mp3');
我想这样做:
player.load('http://www.mydomain.com/serve.php');
代码看起来很简单,但它还没有工作。当JWPlayer尝试加载歌曲时,我收到一条错误消息:
“无法加载播放列表:播放列表文件不包含有效的播放列表”
我没有使用播放列表,所以我不确定这意味着什么。
以下是两个文件的代码:
<head>
<script src="js/jquery-1.7.1.min.js" type="text/javascript" language="javascript"></script>
<script src="js/jwplayer.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" language="javascript">
// <![CDATA[
var player = null;
$(document).ready(function() {
jwplayer('track_player').setup({
flashplayer: "player.swf",
height: 200,
width: 375,
autostart: true,
controlbar: 'over',
events: {
onReady: function(event) {
player = jwplayer('track_player');
}
}
});
});
function loadSong() {
//player.load('http://www.mydomain.com/music/mysong.mp3');
player.load('http://www.mydomain.com/serve.php');
}
// ]]>
</script>
</head>
<body>
<a href="javascript:;" onclick="loadSong()">Load Song</a><br />
<div id="track_player"></div>
</body>
<?php
$filename = 'music/mysong.mp3';
header('Content-Type: audio/mpeg');
header("Content-Length: ".filesize($filename));
readfile($filename);
?>
如果我通过浏览器调用serve.php文件,它可以正常提供文件并在浏览器中播放mp3(FireFox测试)。
但我无法弄清楚为什么它不能通过JWPlayer工作。
感谢任何帮助。感谢。
答案 0 :(得分:5)
解决!
'provider'需要添加到load()函数中。所以看起来应该是这样的:
player.load({'file':'http://www.mydomain.com/serve.php','provider':'sound'});
我希望这可以帮助某人,就像有人帮助我一样。