作者lovehoward (Howard)
看板WebRadio
标题[心得] 在windows环境让shoutcast显示中文歌名的方法
时间Thu Jun 3 17:31:11 2004
(这里是指网站上显示中文歌名。)
windows版本的shoutcast没有办法修改他产生的网页,
所以无法显示中文歌名,我想到的解决办法,
就是自己设计一个PHP网页来显示歌名。
新版的shoutcast可以产生XML格式的伺服器资讯,
里面也包括现正拨放的曲目,可惜的是中文依然是乱码,
本来想解读这些乱码後来因为不太了解编码而作罢。
(接着是正题)
大家应该还有印象,就是安装SAM2的时候,
会要求输入mySQL的帐号密码,
如果你真的有一个mySQL server,
而且当初输入的帐号密码也正确的话,
SAM2会把拨放过的歌曲存在samdb资料库的historylist资料表里面。
只要读取这个资料库,就可以找到正在拨放的曲目。
所以这个解决方案有三个限制:
1. 使用SAM2。
2. 正确安装设定mySQL。
3. 有一个网页伺服器,而且可以运行能连接mySQL的指令码(ex:PHP)。
当然还要会写一点程式。如果这些条件都有的话,就可以让网页显示中文歌名。
譬如说我要取得现在拨放的曲目(以PHP说明):
mysql_connect("localhost","userid","userpwd");
mysql_select_db("samdb");
$rows = mysql_query("
SELECT artist,album,title,date_played FROM historylist
ORDER BY date_played DESC LIMIT 1");
$row = mysql_fetch_row($rows);
如此一来,$row[0] 是最新放的这首歌的歌手名称,
$row[1] 是最新放的这首歌的专辑名称,
$row[2] 是最新放的这首歌的歌名,
$row[3] 是这首歌的拨放时间。
samdb里头的资料表hostorylist就是sam2里面的history,
资料表songlist则会存放你拥有的歌的资讯,
这两个资料表重复性很高,除了上面写到的栏位之外,
还有duration ,albumyear等等关於歌的资讯,
擅用这两个资料表就可以设计出不错的功能。
(接着是一些理想的东西)
samdb里面还有queuelist资料表,顾名思义就是sam2里面的拨放序列,
透过这个资料表,再把sam2的模式设定成play queue,
出门在外的时候把sam2开着,就可以自己点歌给自己听。
另外还有一个requestlist,大概是点歌用的,还有个栏位叫message,
等我研究出来再跟大家分享好了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.131.95
※ 编辑: lovehoward 来自: 61.59.131.95 (06/03 17:41)
1F:→ lovehoward:原来前面已经有人说明过点歌了.. 61.59.131.95 06/03