ある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を交互に実行することになる。
プログラム中の”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){ }
}
関連する項目
- Programming HD DVD and Blu-ray Disc: 第20章にTitle切り換えの方法を記載。ただし、メソッド名が間違えているので注意が必要
- Blu-ray Disc Java and GEM/MHP/OCAP Authoring Notes and Guidelines: topMenu titleのtitle_numberを記載
- Title: Titleの概念
- Title Context: Titleの切り替えに使用
- Titleの再スタート: 類似機能