最近幾年新增的J2ME JSR,並找了之後camera會使用到的JSR
JSR-135 MMAPI (Mobile Media API)
JSR-234 高階多媒體補充AMMS (Advanced Multimedia Supplements)
JSR 226 延展性2D 向量圖應用程式 (Scalable 2D Vector Graphics API for J2ME)
目前確定的在MMAPI上N95目前可順利執行,且抓圖也正常。
JSR-234與JSR-226在N95上確定支援,似乎只有S60 3nd FP1的手機才支援(N80不支援)。不過也發現Sun也有提供J2ME Device Table讓使用者查詢手機支援JSR的程度。
Nokia N95支援的JSR Profile
CLDC 1.1 (basic)Nokia官方網站也有詳細N95的規格。
MIDP 2.0 (basic)
M3DAPI 1.0
Scalable 2D Vector Graphics
MMAPI / JSR 135
Web Services
Bluetooth
Adv Multimedia Supp / JSR 234
Nokia UI API
SATSA
Location API
PDA Optional
WMA 2.0 / JSR 205
SIP API
JTWI
MMAPI抓取內置相機的方式
//利用Player去抓取內置相機路徑使用MMAPI錄音
Player player = Manager.createPlayer( "capture://video" );
※注意:如果要進行拍照, 且要輸出為jpeg格式時, 必需要將"capture://video"改為"capture://devcam0"才可正常在MIDlet上正確顯示
//初始化
player.realize();
//抓取Video control
VideoControl videoControl = (VideoControl) ( player.getControl("VideoControl") );
//設定Display mode
videoControl.initDisplayMode( VideoControl.USE_DIRECT_VIDEO, this );
//設定video顯示位置
videoControl.setDisplayLocation(x, y);
//設定video顯示大小
videoControl.setDisplaySize( Width, Height );
//建立手機內置錄音的資料來源(DataSource)使用MMAPI拍一張照片
Player p = Manager.createPlayer("capture://audio");
p.realize();
RecordControl rc = (RecordControl)p.getControl("RecordControl");
//設定儲存位置
rc.setRecordLocation("file:/tmp/audio.wav");
rc.startRecord(); //開始紀錄
p.start(); //錄音五秒
Thread.currentThread().sleep(5000);
p.stop(); //停止
rc.stopRecord(); //停止紀錄
rc.commit(); //完成
//從camera抓取一張照片, 如果傳入值設定為null時, 抓取格式為系統預設值.以上階為程式片段。
byte[] pngImage = videoControl.getSnapshot( null );
也可以把null替換成下列格式,抓取所想要的圖片格式
encoding=gray8&width=160&height=120
encoding=jpeg&quality=80&progressive=true&type=jfif
(progressive JPEG with quality 80 in jfif format)
encoding=jpeg&type=exif
(JPEG in exif format)
encoding=png&colors=rgb888
(24 bits/pixel PNG)
encoding=rgb888
(raw 24-bit rgb image)
encoding=rgb&colors=rgb888
(raw 24-bit rgb image)
//example
byte[] pngImage = videoControl.getSnapshot( "encoding=png&colors=rgb888 " );
//最後再將取得的data建立成image, 並draw出來
Image image = Image.createImage(pngImage, 0, pngImage.length);
g.drawImage(image, 0 , 0 , 0);
5 則留言:
不好意思 因為做專題可能會使用到 可以跟您要這三段程式的全部嗎?
可以的話請寄到loirend@yahoo.com.tw
謝謝您
您好:因為做專題需要用到MMAPI抓取內置相機的方式,是否可以請您給我這段的程式呢??
謝謝
我的MAIL:lkmsj@yahoo.com.tw
專題也要用到
可以請妳把全碼傳給我嗎?!
ebullient_sky@hotmail.com
妳好 :因為做專題需要用到錄音的程式
是否可以給我這段程式的全部ㄋ
謝謝
我的mail:coreygogo@yahoo.com.tw
您好,我對撰寫此方面的手機程式有興趣,能否請您寄給小弟完整的程式碼呢?
flowercatswets@yahoo.com.tw
張貼留言