[心得] 在windows環境讓shoutcast顯示中文歌꘠…
(這裡是指網站上顯示中文歌名。)
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)
→
61.59.131.95 06/03, , 1F
61.59.131.95 06/03, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
WebRadio 近期熱門文章
PTT影音娛樂區 即時熱門文章
4
16