By: Andi Sunyoto
Abstraksi
Mobile Media API (MMAPI) is an optional package yang mendukung aplikasi multimedia di peralatan J2ME. Ini adalah standar Java yang ditetapkan oleh Java Community Process (JCP) dalam JSR 135. Standar ini didesain fleksibel jalan di beberapa protokol dan format; contoh pengimplementasiannya tidak harus dengan protokol HTTP atau Real-Time Transport Protokol (RTP) saja, atau media dengan format MP3. MIDI atau MPEG-4 saja.
Pengantar MMAPI
Artikel ini menyediakan suatu pengenalan dari arsitektur MMAPI dan API, yang dilengkapi suatu contoh kode yang menunjukkan bagaimana MMAPI dapat digunakan untuk membangun aplikasi-aplikasi multimedia Wireless Java.
MMAPI sudah dirancang untuk berjalan di setiap virtual machine berbasis J2ME, termasuk CDC dan CLDC.
Pengembang MMAPI dirancang dengan fitur sebagai berikut:
- Mendukung untuk Tone Generation, Playback, and Recording of Time-Based Media: paket ini mendukung setiap isi audio dan video yang berbasis waktu (time-based).
- Small Footprint: MMAPI bekerja pada batas-batas memori yang tegas dari alat-alat CLDC.
- Protocol- and Content-Agnostic: API tidak dibiaskan ke tipe atau protokol yang spesifik.
- Subsettable: pengembang dapat mendukung tipe tertentu.
- Extensible: Fitur baru dapat ditambahkan dengan mudah tanpa menghilangkan kemampuan sistem yang sebelumnya. Lebih penting lagi, format-format tambahan dapat dengan mudah didukung, dikbuat framework dan ditempatkan untuk kontrol tambahan.
- Options for Implementers: API menawarkan fitur untuk tujuan-tujuan yang tertentu. API didesain dan dirancang untuk mengizinkan developer meninggalkan beberapa fitur jika mereka tidak bisa didukung.
Multimedia Processing
Ada dua bagian untuk mengolah multimedia:
- Protocol Handling: membaca data dari suatu sumber seperti sebuah file atau suatu streaming server ke dalam sistem media-processing.
- Content Handling: menguraikan (parsing) atau decoding data dan merendernya menjadi sebuah keluaran seperti spiker audio atau layar video.
Agar dapat memfasilitasi operasi di atas, API menyediakan dua tipe obyek high-level:
- DataSource mengencapsulasi penanganan protokol dengan penyembunyian detail bagaimana data itu dibaca dari sumbernya. Method obyek mempunyai berguna yang memungkinkan obyek Player menangani isi.
- Player membaca data dari DataSource, memprosesnya merendernya untuk ditampilkan di piranti. Obyek ini menyediakan metoda untuk mengendalikan media untuk playback, termasuk metoda untuk mengendalikan tipe tertentu mengakses fitur tipe media tertentu..
MMAPI menetapkan obyek ketiga, sebuah mekanisme yang dikenal sebagai Manager yang memungkinkan aplikasi membuat Players dari DataSources, dan dari InputStreams.

Arsitektur MMAPI
Read more…
Class TextBox merupakan turunan dari class Screen yang merepresentasikan sebuah kotak untuk mengisi teks.
Konstruktor class TextBox adalah sebagai berikut:
TextBox(String title, String text, int maxSize, int constraints);
Agar lebih jelas untuk memahami tentang class TextBox berikut contoh programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
| import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MIDTextBox extends MIDlet implements CommandListener {
private Display display;
private TextBox txt;
private Form form;
private Alert alert;
private Command cmdExit;
private Command cmdSetText;
private Command cmdInsertText;
private Command cmdClearText;
private Command cmdInfoText;
private Command cmdBack;
public MIDTextBox() {
display = Display.getDisplay(this);
txt = new TextBox("Contoh Midlet TextBox", null, 256, TextField.ANY);
cmdExit = new Command("Exit", Command.EXIT, 1);
cmdSetText = new Command("Set Text", Command.SCREEN, 2);
cmdInsertText = new Command("Insert", Command.SCREEN, 2);
cmdInfoText = new Command("Info Text", Command.SCREEN, 2);
cmdBack = new Command("Back", Command.BACK, 2);
txt.addCommand(cmdExit);
txt.addCommand(cmdSetText);
txt.addCommand(cmdInsertText);
txt.addCommand(cmdInfoText);
txt.setCommandListener(this);
}
public void startApp() {
display.setCurrent(txt);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == cmdExit) {
destroyApp(true);
notifyDestroyed();
} else if (c == cmdSetText) {
txt.setString("Contoh Mengeset Text dalam TextBox");
} else if (c == cmdInsertText) {
txt.insert("Text Sisipan", 0);
} else if (c == cmdClearText) {
if (txt.size() > 0) {
txt.delete(0, txt.size());
}
} else if (c == cmdInfoText) {
form = new Form("Informasi Text");
form.append("Teks Aktif: " + txt.getString() + "\n");
form.append("Jumlah Karakter: " + txt.size() + "\n");
form.append("Posisi cursor: " + txt.getCaretPosition());
form.addCommand(cmdBack);
form.setCommandListener(this);
display.setCurrent(form);
} else if (c == cmdBack) {
display.setCurrent(txt);
}
}
} |
Hasil program di atas adalah sebagai berikut:
Read more…
J2ME (Java to Micro Edition) adalah platform Java yang ditargetkan secara spesifik untuk aplikasi yang jalan pada peralatan-peralatan kecil seperti mobile phone, PDA, switch jaringan, sistem navigasi, komponen peralatan otomatis rumah tangga dan sebagainya. J2ME dapat menjadi solusi untuk peralatan yang tidak mendukung secara penuh implementasi mnggunakan J2SE (Java to Standart Edition).
Sama seperti Java pada umumnya yang menggunakan JVM (Java Virtual Machine), dalam J2ME juga menggunakan virtual mesin yang disebut K Virtual Machine (KVM). KVM adalah virtual machine dengan kapasitas memori yang sangat kecil. Huruf K diambil dari Kilobyte yang mengambarkan betapa kecil total memori yang digunakan mulai dari 128 kilobyte hingga maksimal rata-rata sekitar 512 kilobyte.
Aplikasi J2ME yang tertanam pada perangkat handphone dapat memanfaatkan teknologi yang sudah ada padanya. J2ME dapat memanfaatkan teknologi GPRS untuk membangun aplikasi berbasiskan Internet. Aplikasi pada user (pengguna handphone) juga dapat diperkaya dengan animasi-animasi grafis menarik dengan menawarkan interaksi user yang semakin meningkat.
Aplikasi yang dibangun menggunakan J2ME dengan profile MIDP (Mobile Information Device Profile) dikenal dengan nama MIDlet. MIDP sendiri khusus digunakan pada handset dengan CPU, memori, keyboard dan layar terbatas misalkan handphone, PDA dan sebagainya.
Read more…
Oleh: Andi Sunyoto
Abstraksi
Mobile Media API (MMAPI) adalah sebuah optional package yang mendukung aplikasi multimedia di peralatan J2ME. Ini adalah standar Java yang ditetapkan oleh Java Community Process (JCP) dalam JSR 135. Standar ini didesain fleksibel jalan di beberapa protokol dan format; contoh pengimplementasiannya tidak harus dengan protokol HTTP atau Real-Time Transport Protokol (RTP) saja, atau media dengan format MP3. MIDI atau MPEG-4 saja.
Kata kunci: J2ME, API, Multimedia, Mobile, Device, MMAPI, Internet, Real-time.
Email: Jika menginginkan lebih lengkap email ke: myandisun@gmail.com