NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida J2ME - 43: implementazione di un VideoPlayer

Guida J2ME, corso base java microedition

 

Come promesso nel capitolo precedente, riporto qui di seguito il codice per sviluppare una MIDlet in grado di aprire e riprodurre un file video (in questo caso, il nome del file è 'video.mpg' , memorizzato su pc).

 

La classe che estende da MIDlet si chiama 'Prova'. Si occupa di recuperare l'istanza del Display corrente ed agganciarvi un oggetto 'MiaCanvas', la cui classe è definita nel listato qui sotto.

'MiaCanvas' si occupa di creare un Player e mostrare a video il... video.

 

 

Per la visualizzazione di un video clip è necessario utilizzare un particolare tipo di controllore, il VideoControl.

Tra gli import della MIDlet dovremo, quindi, aggiungere quelli che ci permettono di implementare tale controllore:

  • import javax.microedition.media.*;
  • import javax.microedition.media.control.VideoControl.*; .

 

 

 

Attenzione anche al metodo createPlayer di Manager, nel listato: questa volta ho utilizzato il metodo che fa uso di un MediaLocator, per cui ho inserito una stringa formattata come un URI.

L'emulatore WTK chiederà, in esecuzione, di poter accedere ai file del file system: accettate; allo stesso modo, il dispositivo mobile vi chiederà di poter accedere alla rete, qualora inseriate un URI web (http://).

 

Ecco il codice:

import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.media.control.VideoControl;


public class Prova extends MIDlet
{
private Display d;
private MiaCanvas miaCanvas;

public Prova()
{
miaCanvas = new MiaCanvas();
d = Display.getDisplay(this);
d.setCurrent(miaCanvas);
}

protected void startApp()
{
}

protected void pauseApp() { }

protected void destroyApp(boolean arg0)
{
notifyDestroyed();
}
}


class MiaCanvas extends Canvas
{
private Player p;
private VideoControl vc;


public MiaCanvas() // Costruttore
{
try
{
p = Manager.createPlayer("file://video.mpg");
p.realize();
p.prefetch();
vc = (VideoControl) p.getControl("VideoControl");
vc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
vc.setDisplayLocation((getWidth() - vc.getSourceWidth()) / 2, (getHeight() - vc.getSourceHeight())/2);
vc.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
}

protected void paint(Graphics g) // Le classi che ereditano da Canvas devono sovrascrivere questo metodo
{
}

protected void keyPressed(int keyCode)
{
// Da utilizzare per inserire eventuali comandi da tastierino per controllare l'esecuzione, il volume, ecc...
// In questo esempio, la riproduzione del filmato viene avviata automaticamente alla creazione di MiaCanvas, ma potete creare dei semplici comandi per gestire questo aspetto.
}
}

 

 

 

Per un elenco completo (lista) dei tutorial e videotutorial su Java, Java 2D, Java 3D e J2ME, clicca qui


 
Libri e eBook sul linguaggio di programmazione Java:
 
 
ebook PDF "Java 3D: guida di base" di Francesco Milanese
 
 
 
 
 

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina