LSL プリムメディア
仕組みはユーチューブ動画のアドレスを変換して、シェアードメディアのURLにYouTube埋め込みプレーヤーを表示するようにしただけなんですけどね^^;
普通のウェブブラウザだったら、埋め込みプレーヤーのアドレス(http://www.youtube.com/v/ビデオID)を直接開いても見れるのに、なぜかSLビューワー2では表示されなかったので、dataスキームを使ってHTMLコードを埋め込むようにしました。(かなり雑なHTMLですが^^;
本体(テレビ画面)の大きさは <0.1, 2, 1.2> ぐらいの比率にしてください。動画が16:9ぐらいのサイズで表示されるようにスクリプトで調整しました。プリムメディアの幅、高さはよくわからなかったんですが、値を1024にしたら100%になるみたいです。
// YouTube player for viewer2
integer ch=1; // チャット入力用チャンネル
integer face=4; // 面番号
set_media(integer num, string url)
{ // メディア設定
llSetPrimMediaParams(num,[
PRIM_MEDIA_CONTROLS,PRIM_MEDIA_CONTROLS_MINI,
PRIM_MEDIA_HOME_URL,url,
PRIM_MEDIA_CURRENT_URL,url,
PRIM_MEDIA_WIDTH_PIXELS,1024,
PRIM_MEDIA_HEIGHT_PIXELS,600,
PRIM_MEDIA_AUTO_PLAY,TRUE
]);
}
set_youtube(string url)
{
integer i=llSubStringIndex(url,"youtube.com/watch?");
if (i > 6) { // YouTubeだったら
i=llSubStringIndex(url,"v=");
if (i > 24) {
string videoid=llGetSubString(url,i+2,-1);
i=llSubStringIndex(videoid,"&");
if (~i) videoid=llGetSubString(videoid,0,i-1);
// 埋め込みプレーヤーを表示
set_media(face,"data:text/html,<style type='text/css'>body{margin:0;padding:0;}object{width:100%;height:100%;}</style><object data='http://www.youtube.com/v/"+videoid+"&autoplay=1' type='application/x-shockwave-flash'></object>");
}
else llWhisper(0,"Illegal URL");
}
else { // YouTube以外はそのままウェブページとして表示
set_media(face,url);
}
}
default
{
state_entry()
{
llScaleTexture(1,0.586,face); // テクスチャのスケール設定
llOffsetTexture(0,-0.207,face); // テクスチャのオフセット設定
llListen(ch,"",NULL_KEY,""); // リッスン開始
}
on_rez(integer start_param)
{ // 持ち物から出したとき
llResetScript(); // スクリプトリセット
}
listen(integer channel, string name, key id, string msg)
{
if (channel == ch) { // チャンネル1でアドレスが入力されたら
string str=llGetSubString(msg,0,6);
if (str == "http://") {
llWhisper(0,"URL = "+msg);
set_youtube(msg); // set_youtubeへ
}
}
}
}
YouTubeモバイルプレーヤーのスクリプトをベースに改造したので、アドレスのチャット入力やアドレス変換してる部分は大体同じですw 視聴はビューワー2でフラッシュが再生される状態に設定して、チャットのチャンネル1番でユーチューブ動画のアドレスを入力してくださいね。
/1 http://www.youtube.com/watch?v=nCgQDjiotG0
22時30分頃追記: 画像をアップしました。埋め込みプレーヤーそのものですけどw
はじめまして、
返信削除最近いろいろと作ってみたいと思って勉強中です。
とても参考になります。
ありがとうございます。
はじめまして。ご覧頂きありがとうございます。
返信削除そうですか。お役にたてて嬉しいです^^
頑張ってくださいね^^