Visualizzazione stampabile
-
Mediaplayer - URI
Salve...
So che non ce la fate piu' a leggere le mie domande, ma vi chiedo ancora un po di pazienza!!
Sono riuscito a creare il clientRTP per android, lavoro tutt'altro che facile...
Adesso pero' mi trovo ad un bivio:
in pratica ho un video in streaming, dopo aver impostato la connessione RTP memorizza il video da visualizzare in un una variabile di tipo ReceiveStream... adesso, volendo io usare il Mediaplayer di android, che ha come costruttori:
public static MediaPlayer create (Context context, Uri uri)
public static MediaPlayer create (Context context, int resid)
cosa mi conviene fare? salvo lo stream in un file e lo converto in URI (e faccio fare un sacco di elaborazioni inutili, visto che stiamo parlando di streaming)?
Help!
Maledetta tesi...
-
Crei una View e ad ogni frame sputi fuori l'immagine dello stream?
-
in pratica non uso proprio la classe mediaplayer??
potrebbe essere una proposta molto interessante...
vedro' se ci riesco!
Grazie
-
Dato che ci sei ti prendi lo stream e attraverso l'algoritmo di compressione utilizzato costruisci il canvas pixel per pixel.. A questo punto potresti anche fare il figo e ruotare ogni frame in base alla bussola..
Però mi sa che il risultato sarà un tantino pesantino..
-
Quote:
Dato che ci sei ti prendi lo stream e attraverso l'algoritmo di compressione utilizzato costruisci il canvas pixel per pixel.. A questo punto potresti anche fare il figo e ruotare ogni frame in base alla bussola..
mmmmmm mi sembra un po troppo esagerato come escamotage (si scriverà cosi' escamotage?...)
vabè, visto le belle idee faccio un pò il riepilogo, così mi dite che ne pensate:
Allora ho creato una mainActivity che mi fa inserire uno (o piu') indirizzo ip e porta, e le passa a clientRTPactivity che, attraverso il porting di librerie di JMF mi stabilisce una connessione e comincia a salvare i pacchetti ricevuti in questo famoso tipo DataSource
codice:
ReceiveStream stream = evt.getReceiveStream();
stream = (NewReceiveStreamEvent)evt).getReceiveStream();
DataSource ds = stream.getDataSource();
Adesso cosa manca? semplice!
1) devo visualizzare questo DataSource
2) devo fare in modo che ogni x tempo parta un altro processo, che passa il controllo al wifi e/o bluethooth, mi valuta lo stato della connessione e se sta degenerando mi avvia un'altro processo -> la gestione dell'handoff
ovvero mi fa un setup col proxy a cui sono connesso e mi permette di instaurare una nuova connessione senza perdere lo streaming in atto...
-ero orientato a far eseguire il punto 2) da un Runnable... ma mi chiedevo.. se io faccio un layout con tabwidget... le activity nascoste dalle tabelle sono sempre in run?
che ne pensate??... io sinceramente penso che potevo scegliermi una tesi triennale piu' facile.... :'(
-
Non credo che le tab activity,se nascoste, continuino nell'esecuzione ( e probabilmente non avrebbe senso..
Secondo me devi lanciare un runnable e quando la tab viene switchata prendi i valori dallle static della runnable.
Quindi lo stream di dati lo salvi in un DataSource o in un Buffer di tipo static e poi quando ti serve lo richiami tranquillamente dall'activity "normale"