JWPlayer文件路径混淆隐藏问题

时间:2012-03-22 16:14:39

标签: path mp3 hide obfuscation jwplayer

我一直在尝试使用单独的php文件来提供实际的mp3文件。因此,不要将实际文件路径放在JWPlayer中,例如:

player.load('http://www.mydomain.com/music/mysong.mp3');

我想这样做:

player.load('http://www.mydomain.com/serve.php');

代码看起来很简单,但它还没有工作。当JWPlayer尝试加载歌曲时,我收到一条错误消息:

“无法加载播放列表:播放列表文件不包含有效的播放列表”

我没有使用播放列表,所以我不确定这意味着什么。

以下是两个文件的代码:


index.php(主文件)

<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>

serve.php(提供mp3文件)

<?php
$filename = 'music/mysong.mp3';

header('Content-Type: audio/mpeg');
header("Content-Length: ".filesize($filename));
readfile($filename);
?>

如果我通过浏览器调用serve.php文件,它可以正常提供文件并在浏览器中播放mp3(FireFox测试)。

但我无法弄清楚为什么它不能通过JWPlayer工作。

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:5)

解决!

'provider'需要添加到load()函数中。所以看起来应该是这样的:

player.load({'file':'http://www.mydomain.com/serve.php','provider':'sound'});

我希望这可以帮助某人,就像有人帮助我一样。