BD-Jプログラミング / BD-J Programming@ wiki

Interactive Audioの定位制御

Interactive Audioの定位を設定すると同時に、設定時のイベントを取得するサンプルコード。本プログラムでは左右に定位を振っている(-1: 左~0: 中央~1: 右)。
setFrontRear()メソッドで前後にも設定できるはず。
なお、定位の設定ができるのは モノラル音声のみ である。

Main.java
import javax.media.Manager;
import javax.media.Player;
import	javax.tv.xlet.*;
import org.bluray.media.PanningChangeEvent;
import org.bluray.media.PanningChangeListener;
import org.bluray.media.PanningControl;
import org.bluray.net.BDLocator;
import org.davic.media.MediaLocator;
 
// PanningChangeListenerを実装
public class Main implements Xlet, PanningChangeListener{
 
    public void initXlet(XletContext context){
        try {
            String url = "bd://SOUND:00";
            Player player = Manager.createPlayer(new MediaLocator(new BDLocator(url)));
            // PanningControlを取得
            PanningControl pc = (PanningControl)player.getControl("org.bluray.media.PanningControl");
            // PanningChangeListenerとして本クラスを登録
            pc.addPanningChangeListener(this);
            // 左端に設定
            pc.setLeftRight(-1F);
            player.start();
            Thread.sleep(2000);
            pc.setLeftRight(-0.5F);
            player.start();
            Thread.sleep(2000);
            // 中央に設定
            pc.setLeftRight(0F);
            player.start();
            Thread.sleep(2000);
            pc.setLeftRight(0.5F);
            player.start();
            Thread.sleep(2000);
            // 右端に設定
            pc.setLeftRight(1F);
            player.start();
         } catch(Throwable thr) {
         }
    }
    public void startXlet(){	}
    public void pauseXlet(){	}
    public void destroyXlet(boolean unconditional){	}
    //   PanningChangeListenerを実装
    public void panningChange(PanningChangeEvent arg0) {
        System.out.println( Float.toString(arg0.getLeftRight()));
    }
 
}


関連する項目

本ページの登録タグ一覧: AV再生 BD独自 サンプルコード 1444

自由にコメントを記入できます。

名前:
AX


BD-Jに関する口コミ一覧




Update history

2012-02-27

2011-11-28

2011-01-25

2010-11-02

2010-10-09

2010-10-08

2010-07-31

2010-07-04

2010-05-09

2010-03-29

2010-03-09

2010-02-06

2009-12-30

2009-11-23

2009-10-31

2009-09-23

2009-09-12

2009-08-29

2009-08-23

2009-08-20

2009-08-19

2009-08-15

2009-08-13

2009-08-12

2009-08-09

2009-08-08

2009-08-04

2009-08-01

2009-07-28

2009-07-25

2009-07-23

2009-07-21

2009-07-18

2009-07-16

2009-07-14

2009-07-11

2009-07-08

2009-07-04

2009-07-02

2009-06-27