四、播放常见媒体的方法
1、播放单音与序列音
如果要播放一个单音一次,可使用:
Manager.playTone(note,duration,volume);
如果要播放序列音,则必须使用ToneControl.使用一个特别的定位器来创建一个Player对象,获得ToneControl,设置其命令序列,然后启动播放器,如:
Player p = Manager.createPlayer(Manger.TONE_DEVICE_LOCATOR); p.realize(); ToneControl tc = (ToneControl)(player.getControl("ToneControl")); tc.setSequence(new byte[] {ToneControl.C4,8 ToneControl.C4+2,8}); p.start();
|
2、播放声讯和MIDI
声讯是指如WAV这样的声音格式,在这种格式中,数据是各种声讯样本的一个流,它代表着该声讯每一秒钟的片断。MIDI则是一系列的命令,用作多乐器的某种“虚拟合成器”。
如要播放一段能够通过HTTP访问的声音文件,请使用:
Player p = Manager.createPlayer("http://something.com/somefile.wav");
p.start();
如要播放一段已经被置于MIDlet的JAR文件中的声音文件,需要先了解其MIME类型(如“audio/x-wav”),然后,使用:
InputStream is = getClass()。getResourceAsStream("/somefile.wav");
Player p = Manager.createPlayer(is,"audio/x-wav");
p.start();
如要播放一段置于RMS中的声音文件,请使用:
RecordStore rs = RecordStore.open("name");
byte[] data = rs.getRecord(id);
ByteArrayInputStream is = new ByteArrayInputStream(data);
Player p = Manager.createPlayer(is,"audio/x-wav");
p.start();
|
3、播放视频
播放视频类似于音频播放。然而,需要告诉视频播放器在哪里显示视频信号,因此,需要从视频播放器处得到一个“视频控件”,然后在Form或Canvas中显示视频内容。下面展示一个从Canvas中显示视频的例子:
InputStream is = getClass().getResourceAsStream("/somefile.avi"); Player p = Manager.createPlayer(is,"video/avi"); p.realize(); VideoControl vc = (VideoControl)p.getControl("VideoControl); if( vc != null ) { vc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,cav); //cav为Canvas对象。 vc.setVisible(true); p.start(); }
|
上一页 [1] [2] [3]

【责编:John】