09.02.2013 Views

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Sviluppo</strong> <strong>di</strong> <strong>una</strong> <strong>piattaforma</strong> <strong>per</strong> <strong>lo</strong> <strong>streaming</strong> multime<strong>di</strong>ale in ambiente Android<br />

Si è ricorso, a questo proposito, alle strutture ViewGroup, che svolgono la stessa<br />

funzione <strong>di</strong> contenitore “ad albero” dei Component, in modo da lasciare libere tutte<br />

le possibili implementazioni future.<br />

Inoltre, nel tentativo <strong>di</strong> rendere il porting <strong>di</strong> JMF più valido possibile <strong>per</strong> le<br />

applicazioni Android, si è cercato <strong>di</strong> tradurre il maggior numero <strong>di</strong> codec resi<br />

<strong>di</strong>sponibili nelle librerie sun e ibm.<br />

In particolare <strong>per</strong> effettuate il co<strong>di</strong>ng/deco<strong>di</strong>ng della risorsa nei formati compatibili<br />

(JPEG e H.263) si è preferito riscrivere anziché importare la classe Dimension <strong>per</strong><br />

poterla dotare <strong>di</strong> un costruttore più adatto alle necessità <strong>di</strong> visualizzazione del<br />

<strong>di</strong>spositivo, il cui argomento <strong>di</strong> input è un'istanza della classe SurfaceHolder, che<br />

successivamente troveremo impiegata nella visualizzazione del filmato.<br />

package it.saviano.tesi;<br />

import android.graphics.Rect;<br />

import android.view.SurfaceHolder;<br />

public class Dimension {<br />

protected Rect size = null;<br />

protected int width = 0;<br />

protected int height = 0;<br />

public Dimension (SurfaceHolder SH) {<br />

Rect size = SH.getSurfaceFrame();<br />

this.width = size.width();<br />

this.height = size.height();<br />

}<br />

[…]omissis[…]<br />

Per quanto riguarda la fase <strong>di</strong> rendering invece, nonostante sia possibile<br />

l'integrazione <strong>di</strong> alcune delle necessarie classi AWT – Co<strong>lo</strong>r, Rectangle, Canvas – si<br />

è preferito non assegnare queste responsabiltà a JMF ma farne carico, data la<br />

comunque forte necessità <strong>di</strong> riprogettazione, al Player.<br />

66

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!