チャプター境界およびPlayItem境界でイベントを発生させるサンプルコード。
再生中チャプター境界に到達するとmarkReachedが、PlayItem境界に到達するとplayItemReachedがそれぞれ呼び出される。
再生中チャプター境界に到達するとmarkReachedが、PlayItem境界に到達するとplayItemReachedがそれぞれ呼び出される。
Main.java
import javax.media.Manager;
import javax.media.Player;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.bluray.media.PlaybackControl;
import org.bluray.media.PlaybackListener;
import org.bluray.media.PlaybackMarkEvent;
import org.bluray.media.PlaybackPlayItemEvent;
import org.bluray.net.BDLocator;
import org.davic.media.MediaLocator;
// PlaybackListenerを実装
public class Main implements Xlet, PlaybackListener {
public void initXlet(XletContext context){
try {
BDLocator loc = new BDLocator("bd://1.PLAYLIST:00000");
MediaLocator ml = new MediaLocator(loc);
Player player = Manager.createPlayer(ml);
// PlaybackControlを取得
PlaybackControl pc = (PlaybackControl) player.getControl("org.bluray.media.PlaybackControl");
// PlaybackControlに本クラスをPlaybackListenerとして登録
pc.addPlaybackControlListener(this);
player.start();
} catch(Throwable thr) {
}
}
public void startXlet(){ }
public void pauseXlet(){ }
public void destroyXlet(boolean unconditional){ }
// PlaybackListenerを実装
public void markReached(PlaybackMarkEvent arg0) {
}
public void playItemReached(PlaybackPlayItemEvent arg0) {
}
}