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(); } |