Soluții - PC Magazine Romania, Martie 2004
MMS - o imagine face cât o mie de cuvinte
Mircea Scărlătescu
Telefoane, telefoane. România este pe unul dintre locurile fruntașe în Europa în ceea ce privește numărul de utilizatori de telefonie mobilă. Și desigur, marii competitori de pe piață sunt nevoiți să se adapteze, și să se lupte pentru un număr cât mai mare de clienți.
Minute incluse, mesaje gratuite, toate nu ar însemna mare lucru dacă o firmă nu ar aduce tipuri de telefoane care să mulțumească pe toată lumea. Astfel, de la telefoane de calitate îndoielnică până la telefoane performante, cu prețuri pe masură, putem găsi cam orice. Și cum la nivel mondial tendința este de a încorpora cam orice în telefoane mobile (radio, telefon, web, mms etc), camerele încorporate sunt acum pentru telefoanele din Romănia o prezență obișnuită în ofertele comercianților.
Telefoanele cu camere încorporate sunt ´by default´ ☺ considerate ´deștepte´, și vin de obicei cu aplicații care să folosească posibilitățile oferite prin captura de imagini. Dar avem mereu posibilitatea (dacă suntem programatori inventivi) să realizăm propriile aplicații care să utilizeze camera și imaginile capturate în diferite scopuri. Desigur este nevoie să avem disponibil un telefon care să suporte upload-ul de aplicații, dar aici marea majoritate a telefoanelor care știu Java (sau .NET, depinde de preferințe) și care au camere încorporate sunt capabile să ruleze și programe realizate de către utilizatori.
Pentru a lucra cu facilitățile camerei, telefoanele ce "știu" Java sunt conforme cu standardul MIDP 2.0, iar API-ul care conține funcțiile de control ale acesteia se numește Mobile Media API.
Specificațiile Mobile Media API, conțin și un exemplu simplu, fără funcționalitate deosebită, dar foarte bun atunci când vine vorba să înveți bazele acestei ramuri a programării wireless. Iată care sunt pașii ce trebuie urmați atunci când realizăm un MIDlet care să captureze o imagine cu ajutorul camerei încorporate.
Primul lucru, trebuie să instanțiem un obiect de tip Player care se ocupa cu input-ul camerei către aplicație (un driver care face legătura între device-ul hardware, și aplicația noastră). Sintaxa exactă este:
Player player;
...
player = Manager.createPlayer("capture://video");
După ce am realizat instanțierea, urmează inițializarea
acestui obiect:
player.realize();
Apoi aplicația noastră va crea un obiect de tip VideoControl care să afișeze ceea ce capturează camera, în mod real-time. Prin intermediul acestui obiect, putem vedea către ce este îndreptată camera (ce imagine "vede" camera):
VideoControl videoControl; ... videoControl = (VideoControl) player.getControl("VideoControl");
Secvența de cod de mai sus transferă controlul camerei către obiectul nostru videoControl. Aplicația noastră primește imagini de la cameră odată ce realizăm apelul metodei start, pentru obiectul de tip Player:
player.start();
Odată ce acest obiect este activ, prin intermediul videoControl, putem să capturăm imaginea:
byte[] pngData = videoControl.getSnapshot(null);
De remarcat parametrul metodei getSnapshot; în exemplul de mai sus, valoarea lui, null, specifică faptul că imaginea salvată este stocată în format png. Există mai multe variante de format pentru fișierul imagine rezultat, dar formatul png este recomandat ca dimensiuni, calitate a imaginii, dar și portabilitate și compatibilitate cu alte aplicații. Fișierul-imagine rezultat poate să fie realizat cu instrucțiunea
Image photoImg = Image.createImage(pngData, 0, pngData.length);
Orice programator pentru device-uri mobile vă poate spune că resursele unui astfel de sistem sunt mult limitate ca și capacitate față de sistemele de calcul obijnuite. Astfel, imaginile capturate prin metoda descrisă mai sus trebuie să fie folosite ori la mesaje MMS, ori transmise (via HTTP de exemplu) către un mediu de stoacare mai mare, pentru că dacă sunt păstrate în memoria telefonului, aceasta nu va face față la multe capturi.
O utilizare imediată pentru aceste imagini poate să fie trimiterea lor prin intermediul unor mesaje MMS, sau stocarea lor pe un site Web. Să nu uităm că la modă sunt și jurnalele Web acum, unde puteți să le arătați celor dragi unde sunteți, ce locuri vizitați, iar un telefon dotat cu o cameră web și o aplicație scrisă chiar de dumneavoastră poate să vă rezolve problema.
Dacă v-am trezit interesul despre acest domeniu, și credeți că un telefon cu
camera încorporată este exact ceea ce vă doriți, atunci sunteți invitați să
studiați cu atenție documentațiile disponibile pe site-ul www.forum.nokia.com
unde veți găsi informațiile necesare pentru a vă folosi la maxim de posibilitățile
telefoanelor moderne din ziua de azi.
|