セカンドライフとネットラジオの関係
セカンドライフでネットラジオを聴くには?
how toのお話
セカンドライフでネットラジオを聴くには、土地情報ウィンドウを開き、メディアタグ内の「音楽のURL」という項目にネットラジオ番組URLを入力すればOKです。こうすることで、その土地にいる間は、自動的にネットラジオ放送を聴くことができます。
ちょっと突っ込んだ理屈のお話
セカンドライフ内で売られているいわゆる「ラジオ」という商品は、一見、それ自体が放送を受信し音を鳴らしているように誤解しがちですが、そうではなく、前述の土地情報ウィンドウ内の「音楽のURL」をスクリプトを使って書き換えているだけに過ぎません。ラジオが実際にネットラジオ放送局のホストにアクセスしているわけではありません。
また、セカンドライフを運用しているリンデン所有のサーバがネットラジオ放送局のホストにアクセスしているわけでもありません。
では、セカンドライフでネットラジオを聴く際、いったい何がラジオを受信しているのかというと、それは「セカンドライフビュア」だということになります。ビュアは、今いる土地(リンデンのサーバ)にアクセスし、そこに設定されている音楽URLを読み取ります。そして、ビュア自身がネットラジオ放送曲のホストにアクセスし、放送を受信、再生しているわけです。
最も効率のよい曲名取得方法とは?
ズバリ、セカンドライフビュア自体に曲名表示機能が備わることが最も効率のよい方法ということになります。そして、この曲名表示機能をセカンドライフビュアに実装すること自体は、リンデンの開発チームにとってハナクソ程度のハズです。その気になれば数時間で実装可能でしょう。リンデンに対し、「ビュアに曲名表示機能をつけてくれ!!」という要望が多く寄せられると案外さらりと実装されるのかもしれませんが、そうでない間はビュア自体に曲名表示機能が搭載されることはないと思います。というわけで、セカンドライフ内において今聴いているネットラジオの曲名を表示させようと思うと、どうしても非効率な方法を取らざるを得ないということになるわけです。
どこが非効率なの?
セカンドライフビュアは、曲名表示機能を持たないネットラジオ受信機なわけで、曲名を表示するためにわざわざもう1台「曲名表示機能だけを持つネットラジオ」を置くようなものです。すなわち、同じホストから同じデータを二重に受信し、片方は音を鳴らすために使い、片方は曲名を表示させるために使うわけです。タダでさえ帯域を消費するセカンドライフなのに、さらに帯域を消費するという、何とも無駄の多いシステムだと言えます。
しかも、たった数文字の曲名を取得するために、LSLのみならず外部サーバまで必要だという…何ともリソースの無駄使いとしか言いようがない大げさなシステムを必要とします。
何がやりたいの?
LSLのみで曲名取得したい!
この研究の最終目的はコレです。コレでも無駄はありますが、リンデンに頼らず自分の力でできる最小限度のシステムだと言えます。が… いきなり弱気ながら無理かもしれませんw。
外部サーバの負荷を最小限度に食い止めたい!
LSL単独で無理な場合は外部サーバを利用するしかないのですが、それならそれで、外部サーバにかかる負担をなるべく減らし、実用的な方法を模索したいと思っています。