J2ME為了實(shí)現(xiàn)對(duì)DataSource和Player有效管理,使用了工廠機(jī)制,由Manager來(lái)負(fù)責(zé)創(chuàng)建Player和DataSource。這樣的機(jī)制在JAVA中到處可見(jiàn),如JDBC中的DriverManager,這里我就不對(duì)這種機(jī)制進(jìn)行介紹了。Manager不僅可以從DataSource中創(chuàng)建Player,而且還可以從本地或InputStream中創(chuàng)建Player。圖二展示了MMAPI整體結(jié)構(gòu)圖。

圖二:MMAPI整體結(jié)構(gòu)圖
三、 使用MMAPI
如果要播放一個(gè)單音一次,可使用:
Manager.playTone(note,duration,volume);
如果要播放序列音,則必須使用ToneControl。使用一個(gè)特別的定位器來(lái)創(chuàng)建一個(gè) Player對(duì)象,獲得ToneControl,設(shè)置其命令序列,然后啟動(dòng)播放器,如:

2.播放聲訊和MIDI
聲訊是指如WAV這樣的聲音格式,在這種格式中,數(shù)據(jù)是各種聲訊樣本的一個(gè)流,它代表著該聲訊每一秒鐘的片斷。MIDI則是一系列的命令,用作多樂(lè)器的某種"虛擬合成器"。
如要播放一段能夠通過(guò)HTTP訪問(wèn)的聲音文件,請(qǐng)使用:
Player p = Manager.createPlayer("http://something.com/somefile.wav");
p.start();
如要播放一段已經(jīng)被置于MIDlet的JAR文件中的聲音文件,需要先了解其MIME類(lèi)型(如,"audio/x-wav"),然后,使用:

3.播放視頻
播放視頻類(lèi)似于音頻播放。然而,需要告訴視頻播放器在哪里顯示視頻信號(hào),因此,需要從視頻播放器處得到一個(gè)"視頻控件",然后在Form或Canvas中顯示視頻內(nèi)容。下面展示一個(gè)從Canvas中顯示視頻的例子:
