HSoundを使用した、byte配列上のInteractive Audio再生のサンプルコード。
Sound data fileと同じデータフォーマットをbyte配列上に生成することで、任意のInteractive Audioを再生することが可能となる。
Main.java
import java.io.FileInputStream;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.havi.ui.HSound;
public class Main implements Xlet{
String fs = System.getProperty("file.separator");
HSound hs;
public void initXlet(XletContext context){
try {
String media_root = System.getProperty("bluray.vfs.root");
hs = new HSound();
FileInputStream fis = new FileInputStream(media_root+fs+"BDMV"+fs+"AUXDATA"+fs+"sound.bdmv");
byte[] buf = new byte[fis.available()];
fis.read(buf);
hs.set(buf);
hs.play();
} catch(Throwable thr) {
}
}
public void startXlet(){ }
public void pauseXlet(){ }
public void destroyXlet(boolean unconditional){
hs.dispose(); // メモリの開放
}
}
関連する項目
- Interactive Audioの再生: sound.bdmvの再生
- Interactive Audioの再生-2: JARファイル中のSound data fileの再生
- Interactive Audioの再生-3: 任意ディレクトリのSound data fileの再生
- Interactive TV Standards: HSoundについて詳しい