PDA

View Full Version : [java] inclusione player jmf


ceccoggi
12-02-2007, 15:43
Sto cercando di includere un riproduttore jmf audiovideo in un mio programma ma mi esce sempre st'errore una volta che lo eseguo:

javax.media.NoPlayerException: Cannot find a Player for :D:\mp3\Incubus - A crow left to the murder\09-incubus-priceless-rns.mp3
at javax.media.Manager.createPlayerForContent(Manager.java:1412)
at javax.media.Manager.createPlayer(Manager.java:417)


Qua il codice dell'inclusione del player:

enableEvents(AWTEvent.WINDOW_EVENT_MASK);
MediaLocator ml = new MediaLocator(file.getAbsolutePath());
p = Manager.createPlayer(ml);
p.addControllerListener(new miManejadorMedia(p, mmediapanel));
p.realize();


e questo il codice della classe associata al listener:

package mempledit;

import java.awt.Component;
import javax.media.ControllerAdapter;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.swing.JPanel;

/**
*
* @author §M&M§
*/
public class miManejadorMedia extends ControllerAdapter{
Player player;
JPanel panel;
/** Creates a new instance of miManejadorMedia */
public miManejadorMedia(Player p, JPanel pan) {
player = p;
panel = pan;
}

public void realizeComplete(RealizeCompleteEvent e){
Component panelControl = player.getControlPanelComponent();
if(panelControl != null)
panel.add(panelControl);
Component areaVisual = player.getVisualComponent();
if(areaVisual != null)
panel.add(areaVisual);
}

public void prefetchComplete(PrefetchCompleteEvent e){
player.start();
}
}

PGI-Bis
12-02-2007, 15:50
E' possibile che non trovi il codec per il file. Se è un mp3, hai installato il plug-in?

http://java.sun.com/products/java-media/jmf/mp3/download.html

ceccoggi
12-02-2007, 16:06
Non penso sia un errore di codec, in quanto mi da questo errore con qualsiasi file multimediale io provi, che sia wav, mp3, avi, mpeg..

Il codice che ho scritto è errato? Purtroppo nn ho appunti nemmeno su sta parte e ho buttato giù un po' di codice trovato sul web..

yorkeiser
12-02-2007, 17:07
Giusto un'idea, dal momento che ebbi questo tipo di problema l'unica volta che ho provato JMF, in quel caso con un'applet.
Prova a copiare l'mp3 nella stessa directory del programma, modificando ovviamente il path (non più d:\fancazzi\nome.mp3 ma semplicemente nome.mp3). In base all'applicazione che stai scrivendo (che non vedo da quello che hai postato) puoi avere delle restrizioni nell'accesso al filesystem.

ceccoggi
12-02-2007, 17:55
ho risolto così:


MediaLocator ml = new MediaLocator("file:///" +file.getPath());


Ora i problemi sono altri:
1. il player io lo aggiungo a un pannello, ma mi rimane una strisciolina minuscola con i soli controlli play, pause, volume e info uno attaccato all'altro, e se mai provassi ad aprire un video non lo vedo (lo sento soltanto, il fatto è che non so come visualizzare la finestra del video di questo player, e evenutalmente dargli delle dimensioni).
2. quando provo ad aprire un secondo file mi rimane in realtà sull'altro. Del nuovo non vuole saperne di eseguirmelo..

Suggerimenti?