別のTitleへの切り替え

あるTitleから別のTitleに切り換えるサンプルコード。
プログラム中の”bd://0″が、Locatorと呼ばれるリソース特定のための文字列であり、”BD:”の後の数字が切り換え先のtitle_numberを示す。
本プログラムではTop menu titleであるtitle_number=0のタイトルを指定している。Minimal BD-J (Java) Devkit for PS3に付属のindex.bdmvとMovieObject.bdmvを使用した場合、Top menu titleはtitle_number=1のタイトル(title#1)を実行するようになっているので、このプログラムだとTop menu titleとtitle#1を交互に実行することになる。

 

Main.java

import java.awt.Container;
 
import javax.tv.service.SIManager;
import javax.tv.service.selection.ServiceContextFactory;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.bluray.net.BDLocator;
import org.bluray.ti.Title;
import org.bluray.ti.selection.TitleContext;
 
public class Main extends Container implements Xlet{
    String fs = System.getProperty("file.separator");
    public void initXlet(XletContext context){
        try {
            // Title Contextの取得
              ServiceContextFactory scf = ServiceContextFactory.getInstance();
            TitleContext tc = (TitleContext)scf.getServiceContext(context);
            // Menu(Title number=0)のlocator生成
              BDLocator loc = new BDLocator("bd://0"); 
            // 次の行は、Programming HD DVD and Blu-ray Discでは誤ってgetInstance()となっている。
            SIManager sim = SIManager.createInstance(); 
              // Titleの取得
              Title t = (Title)sim.getService(loc);
            tc.select(t);
        }catch (Exception e){
        }
    }
    public void startXlet(){	}
    public void pauseXlet(){	}
    public void destroyXlet(boolean unconditional){	}
}

 


関連する項目

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください