[心得] 在windows環境讓shoutcast顯示中文歌꘠…

看板WebRadio作者 (Howard)時間20年前 (2004/06/04 00:43), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
(這裡是指網站上顯示中文歌名。) 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
文章代碼(AID): #10lrKcJb (WebRadio)
文章代碼(AID): #10lrKcJb (WebRadio)