ソラマメブログ
< 2025年05月 >
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

2008年08月02日

YouTubeプレイヤー(リンデンスクリプト Tips)

YouTubeの動画を再生するスクリプトです。
YouTubeプレイヤー(リンデンスクリプト Tips)
YouTubeの動画は、直接はSL内で再生は出来ませんが、YouTubeの
動画をmpeg4というフォーマットに変換することにより再生が可能です。
YouTubeMP4というサイトで、ダイレクトにフォーマット変換が可能です。
便利なサイトがあるものですw今回のスクリプトは、こちらのサイトを利用します。

こちらのサイトは、セカンドライフブログでも紹介されています。
YouTubeMP4 to play YouTube in Second Life
興味のある方はどうぞw
「スクリプト内容」
//
//    SHOP ZERO Tips29 YouTubePlayer  script   v1.0
//
//                   Created by Zero2000 Kid     2008/08/02
//

string YouTubeURL="http://youtube.com/watch?v=QVIR1pNcow8";
string meaditexture="28a7710a-1ca8-07ec-b0c2-cd2f0cf7cc43";
integer input_ch = -29;
integer handle;

default
{
    state_entry(){
        llSetTexture((key)meaditexture,ALL_SIDES);
        // URL convert
        list ulist=llParseString2List(YouTubeURL, ["watch?v="], []);
        string mediakey=llList2String(ulist,1);
        string url="http://www.youtubemp4.com/video/"+mediakey+".mp4";
        // Media initialize
        llParcelMediaCommandList( [
        PARCEL_MEDIA_COMMAND_URL, url,
        PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0),
        PARCEL_MEDIA_COMMAND_AUTO_ALIGN,TRUE] );
    }

    touch_start(integer t) {
        handle = llListen(input_ch,"",llDetectedKey(0),"");
        llDialog(llDetectedKey(0), "PLEASE SELECT MENU",["PLAY","STOP","CANCEL"], input_ch);
    }
    
    listen(integer ch, string name, key id, string message) {
        if (message=="PLAY") {
            llWhisper(0,"YouTube play start...");
            llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
        } else if (message=="STOP") {
            llWhisper(0,"You Tube play stop.");
            llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
        }
        llListenRemove(handle);
    }
}

「使用方法」
1. 動画再生のスクリーン用のオブジェクトを1つ作成します。(普通のボックスで良いでしょう)
2. オブジェクトにスクリプトをドラッグします。
3. 再生を行いたいYouTubeの動画URLを調べます。
  URL例 : http://youtube.com/watch?v=QVIR1pNcow8
4. スクリプト1行目のYouTubeURL変数にYouTube動画のURLをセットします。

以上で準備完了です。
スクリーンオブジェクトをクリックすると青いダイアログが出ますのでSTARTをクリックして
動画をスタートしてください。

* 動画再生には、スクリプトのオーナーにその土地の権限が必要です。


「スクリプトの説明」
このスクリプトのポイントは、YouTubeの動画URLをYouTubeMP4のサイト用のURLに書き換えて
再生を実行している点です。

各サイトのURLフォーマットは以下のようになっています。
YouTube用のURL :http://youtube.com/watch?v=(動画のキー文字列)
YouTubeMP4用のURL :http://youtubemp4.com/video/(動画のキー文字列).mp4


以下の部分でURLを書き換えています。
  // URL convert
  --- YouTubeURLを"watch?v="という単語をセパレータとして、リスト変数ulistに格納
    list ulist=llParseString2List(YouTubeURL, ["watch?v="], []);
  --- リスト変数ulistから、動画のキーとなる文字列を取得し、mediakey変数に格納
    string mediakey=llList2String(ulist,1);
  --- YouTubeMP4サイト用のURLを生成
    string url="http://www.youtubemp4.com/video/"+mediakey+".mp4";

  あとは、生成したURLをllParcelMediaCommandListコマンドを使用して動画を再生しています。

リンデンスクリプト Tips Indexへ





同じカテゴリー(リンデンスクリプトTips)の記事画像
サウンド再生スクリプト(リンデンスクリプト Tips)
カメラコントロール(リンデンスクリプト Tips)
標準時間表示スクリプト(リンデンスクリプト Tips)
プリムカウンター2(リンデンスクリプト Tips)
土地情報チェッカー(リンデンスクリプト Tips)
SIM負荷チェッカー(リンデンスクリプト Tips)
同じカテゴリー(リンデンスクリプトTips)の記事
 サウンド再生スクリプト(リンデンスクリプト Tips) (2009-12-16 20:13)
 カメラコントロール(リンデンスクリプト Tips) (2009-11-21 21:26)
 標準時間表示スクリプト(リンデンスクリプト Tips) (2009-11-02 00:34)
 プリムカウンター2(リンデンスクリプト Tips) (2009-10-12 20:40)
 土地情報チェッカー(リンデンスクリプト Tips) (2009-10-11 21:33)
 SIM負荷チェッカー(リンデンスクリプト Tips) (2009-08-09 20:26)
この記事へのコメント
素敵なサイトが更新され続ける...
Posted by wordpress at 2012年03月21日 01:59
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。