我刚从playlist.me构建了一个mp3播放器,脚本如下所示:
<!-- Song Player http://playlist.me -->
<script
type="text/javascript"
src="http://playlist.me/w/script.js"
data-config="{'skin':'skins/black/skin.css','volume':50,'autoplay':false,'shuffle':false,'repeat':1,'placement':'bottom','showplaylist':false,'playlist':[{'title':'Song TItle','url':'http://sourcemp3.com/music.mp3'}]}" >
</script>
<noscript>
<a href="http://playlist.me/w/i.php">SCM music player</a>
</noscript>
<!-- playlist.me script end -->
问题是我必须手动编辑脚本才能添加更多MP3文件,如何在不手动编辑脚本的情况下添加文件?我的MP3文件位于/mnt/usb
。我可以使用bash find
列出所有音乐文件但是如何将它们放在上面的脚本中呢?我的目标是,我希望能够通过将文件复制并粘贴到/mnt/usb/
来更新我的MP3文件,并且它们会自动显示在我的网络播放器中。
更新,我编辑了我的脚本:
<?php
$glob = glob('/mnt/usb/*.mp3');
$url = '/mnt/usb/';
$playlist = array();
foreach ($glob as $mp3) {
$playlist[] = array('title' => $mp3, 'url' => $url . $mp3);
}
echo '
<html>
<head>
<title> MP3 Player</title>
</head>
<body>
<script
type="text/javascript"
src="http://playlist.me/w/script.js"
data-config="{\'skin\':\'skins/black/skin.css\',\'volume\':50,\'autoplay\':false,\'shuffle\':false,\'repeat\':1,\'placement\':\'bottom\',\'showplaylist\':false,\'playlist\':[{\'title\':\'Song TItle\',\'url\':\'http://sourcemp3.com/music.mp3\'}]}" >
</script>
<noscript>
<a href="http://playlist.me/w/i.php">SCM music player</a>
</noscript>
</body>
</html>';
echo sprintf("'playlist':%s", json_encode($playlist));
?>
但是我收到以下错误:Fatal error: Call to undefined function json_encode() in /www/music.php on line 25
并且音乐也不会加载。请帮忙
再次更新我找到了json部分,现在问题是这样的:
我的剧本:
<?php
$glob = glob('/mnt/usb/*.mp3');
$url = '/mnt/usb/';
$playlist = array();
foreach ($glob as $mp3) {
$playlist[] = array('title' => $mp3, 'url' => $url . $mp3);
}
echo sprintf("'playlist':%s", json_encode($playlist));
echo '
<html>
<head>
<script
type="text/javascript"
src="http://playlist.me/w/script.js"
data-config="{"skin":"skins/black/skin.css","volume":50,"autoplay":false,"shuffle":false,"repeat":1,"placement":"bottom","showplaylist":false,"playlist":" >
</script>
<title> MP3 Player</title>
</head>
<body>
<noscript>
<a href="http://playlist.me/w/i.php">SCM music player</a>
</noscript>
</body>
</html>';
echo sprintf("'playlist':%s", json_encode($playlist));
?>
我该如何解决这个问题?
答案 0 :(得分:0)
无法在纯客户端Javascript中完成,因为它无法读取服务器文件系统。至少需要1种Serverside语言:
将此PHP嵌入到您的Javascript中,以填充playlist
变量。
<?php
$glob = glob('/mnt/usb/*.mp3');
$url = 'http://localhost/usb/';
$playlist = array();
foreach ($glob as $mp3) {
$playlist[] = array('title' => $mp3, 'url' => $url . basename($mp3));
}
echo sprintf("'playlist':%s", json_encode($playlist));
符号链接(在控制台中输入):
ln -s /mnt/usb /www/usb