PDA

View Full Version : [JAVA] Media Framework - Clonare e visualizzare un data source.


mech666
27-08-2009, 11:57
Salve a tutti, sto usando il java media framework....il mio problema è questo:
devo registrare un video ma allo stesso tempo vorrei vedere cosa sto registrando!
So che i dati presi dal processone non possono essere indirizzati contemporaneamente ad un data sink ed un player, quindi ho pensato di clonare il data source in questo modo :


//Descrizione del formato video
Format formats[] = new Format[2];
formats[0] = new AudioFormat(AudioFormat.ULAW);
formats[1] = new VideoFormat(VideoFormat.RGB);
FileTypeDescriptor outputType = new FileTypeDescriptor (FileTypeDescriptor.MSVIDEO);

processor = Manager.createRealizedProcessor(new ProcessorModel(formats,outputType));

//Prendo l'uscita dal processore
DataSource source = processor.getDataOutput();

//La clono per il player
source = Manager.createCloneableDataSource(source);

DataSource clonedSource = ((SourceCloneable)source).createClone();

A questo punto mentre source viene scritta su disco vorrei mandare clonedSource ad un player per visualizzare le immagini che sto acquisendo (ho tolto per semplicità i blocchi che gestiscono le eccezioni!):


dest = new MediaLocator("file://provaAcqu.wmv");


sink = Manager.createDataSink(source, dest);
sink.open();

//Faccio partire la scrittura su file dei dati nel sink,il processore, ed il
//player per l'anteprima del video
sink.start();

processor.start();

//Faccio andare i dati del processore su di un player
player = Manager.createRealizedPlayer(clonedSource);
player.start();


Il programma continua poi prendento il componente visuale del player ed aggiungendolo al Frame.

Ho però questo errore:

javax.media.NoPlayerException: Cannot find a Player for: com.ibm.media.protocol.SuperCloneableDataSource$PushDataSourceSlave@3eca90
at javax.media.Manager.createPlayerForSource(Manager.java:1512)
at javax.media.Manager.createPlayer(Manager.java:500)
at javax.media.Manager.createRealizedPlayer(Manager.java:579)

Ho pensato di provare a cambiare i formati video con cui registrare ma continua a non funzionare!! :muro:

Potete darmi una mano?!?!? Grazie!!! :D

banryu79
27-08-2009, 12:28
Ho pensato di provare a cambiare i formati video con cui registrare ma continua a non funzionare!! :muro:

E il formato audio invece, hai provato a cambiarlo?

Comunque non avendo mai usato JMF non saprei come aiutarti se non postandoti qualche link:
- http://www.coderanch.com/t/271754/Other-JSE-JEE-APIs/java/Impossible-find-Player-with-JMF
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6297409
- http://forum.html.it/forum/showthread.php?threadid=996839

Se non arriva l'esperto di turno che sa darti la risposta al problema prova a usare Google, magari usando il nome dell'eccezione input.

mech666
27-08-2009, 12:31
Ti ringrazio...purtroppo avevo già visitato tutti i link che mi hai postato e anche fatto come mi dici con google ma niente...ora ci sto lavorando su...sperimao che questo esperto arrivi presto!! :muro: :muro: :muro: :muro: :muro: :muro: :muro: