Wednesday, June 21, 2006

Mengambil Gambar dengan J2ME MMAPI

Nama: Adi Kurniawan
NRP: 203114763

Mengambil Gambar dengan J2ME MMAPI

Kesuksesan dari MP3 player dan handphone dengan kamera telah membuktikan bahwa
multimedia merupakan nilai penting dalam aplikasi mobile. Para penggunanya tidak hanya
menggunakannya untuk memutar suatu musik atau film saja tetapi mereka kebanyakan juga
membagikan pengalaman mereka sehari-hari baik melalui audio maupun video. J2ME Mobile Media API (MMAPI) memungkinkan untuk membuat aplikasi multimedia pada peralatan yang mempunyai berbasiskan Java.

Mula-mula untuk memulai dalam membuat aplikasi MMAPI, kita harus mengetahui tools-tools yang akan dipakai, yaitu J2ME Wireless Toolkit 2.0 yang sudah mendukung MIDP 2.0, MMAPI 1.0, dan WMA 1.1.

Langkah pertama dalam mengambil gambar dalam MIDlet adalah mengambil video. Pertama mengambil Player dari Manager. Untuk memberitahu bahwa kita akan mengambil gambar dari kamera dengan menggunakan ukuran default, kita perlu menambahkan tempat khusus yaitu capture://video

mPlayer = Manager.createPlayer("capture://video");

Jika peralatan yang digunakan tidak mendukung pengambilan video, MediaException akan dikeluarkan. Untuk mengecek apakah peralatan mendukung pengambilan video atau tidak dapat digunakan supports.video.capture yang akan bernilai true jika support pengambilan video.

Kemudian Player butuh "disadarkan" untuk mengambil bahan-bahan yang dibutuhkan untuk
mengambil gambar.

mPlayer.realize();

Kemudian video yang didapat dari kamera dapat ditampilkan pada layar dalam bentuk Item
pada Form atau sebagai bagian dari Canvas. Hal ini mungkin karena adanya VideoControl.

mVideoControl = (VideoControl)mPlayer.getControl("VideoControl");

Setelah kita berhasil menampilkan video pada peralatan yang kita gunakan, mengambil
gambar menjadi mudah. Yang perlu kita lakukan hanyalah memanggil metode getSnapShot() dari class VideoControl. Disini kita harus memasingkan tipe gambar yang diinginkan atau null untuk tipe defaultnya yaitu PNG.

Metode getSnapShot() mengembalikan array of byte, yang berisi gambar dalam format yang
diinginkan. Kemudian apa yang akan digunkana pada saat ini adalah terserah pada kita sendiri, apakah ingin mengirim ke server, atau membuat Image dari array tersebut sehingga hasil gambar tersebut dapat dilihat.

byte[] raw = mVideoControl.getSnapShot(null);
Image image = Image.createImage(raw,0,raw.length);

Source:
http://developers.sun.com/techtopics/mobility/midp/articles/picture/
http://www.awprofessional.com/articles/article.asp?p=375708

No comments: