ソラマメブログ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
プロフィール
Hitomi Magne
Hitomi Magne
ヌーディスト件ダンサーです。Susukinoによく出没します
オーナーへメッセージ

2008年11月03日

ラジオ:曲名の日本語表示

ラジオ:曲名の日本語表示
成功!!
こちらのPHPコードをほぼそのままパクって、文字コード変換を仕込みました。


<?php

if ( isset ($_GET['url']) ) {
$url=$_GET['url'];
$port=$_GET['port'];
} else {
return;
}



$fp = @fsockopen ($url, $port, $errno, $errstr,1);
header ("Content-type: text/html; charset=utf-8");

if (!$fp)
{
echo "Connection refused"; // Diaplays when sever is offline
}
else
{
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla\r\n\r\n");
while ( !feof($fp) )
{
$info = fgets($fp);
}
$info = str_replace ( '</body></html>' , "" , $info );
$split = explode ( ',' , $info);
if ( empty ( $split [6] ) )
{
echo "The current song is not available"; // Displays when sever is online but no song title
}
else
{
$title = str_replace ( '\'' , '`' , $split[6] );
$title = str_replace ( ',' , ' ' , $title );
$title = mb_convert_encoding( $title , "UTF-8" , "auto" );
echo "$title"; // Diaplays song
}
}
?>



こんな感じ。プレイリストから抽出したshoutcastのストリーミングサーバのURLから、"http://"を削除したものを?url=で投げてやれば曲名を返します。port番号は別個に指定しなくても、urlに含まれる形(xxx.xxx.xxx.xxx:yyyy)とかでいいみたい。
header("Content-type: text/html; charset=utf-8");
でUTF-8で出力する事を明示して、
$title = mb_convert_encoding($title, "UTF-8", "auto");
で変換しただけ。単機能のCGIなので、出力はHTMLとかXMLとかじゃなくていいやと、ベタテキストで出力しています。これをLSLから呼んで、llSetTextで表示しちゃえばOK。
ただ、bodyをそのまま表示すると改行コードだかEOFだか変なゴミが出ちゃうので
llStringTrim(body,STRING_TRIM)でホワイトスペースを削除しています。

しかし、なんだこの曲ww
誰だこのラジオ流してるの。


同じカテゴリー(LSL)の記事画像
追跡型チップジャーは重いか
UNICODE表示プリム高速版
電光掲示板とかホワイトボードとか
UNOCODEなんでも表示プリム
ラジオ作りにハマる
同じカテゴリー(LSL)の記事
 サーバのバグっぽい (2009-03-31 19:53)
 追跡型チップジャーは重いか (2009-01-20 18:03)
 UNICODE表示プリム高速版 (2008-11-25 14:46)
 文字コードを取得する方法。 (2008-11-21 15:25)
 電光掲示板とかホワイトボードとか (2008-11-20 23:47)
 UNOCODEなんでも表示プリム (2008-11-17 19:10)

Posted by Hitomi Magne at 07:27│Comments(0)LSL
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。