Olá pessoal…
Sou iniciante em Java Media Framework(JMF) e estou com um problema na minha aplicação.
De início criei uma aplicação independente onde ela pedia para o usuário abrir um arquivo de vídeo,
em seguida a mesma o executava, até aí tudo bem. O problema começou quando fui transformar
essa aplicação independente em um applet, ocorre que simplismente o applet não inicia, ja quebrei
muita cabeça com isso, porém ainda não consegui resolver este problema. o código é o seguinte:
package API;
import java.awt.;
import java.lang.String;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.IOException;
import javax.media.;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
[color=darkblue]/**
*
-
Este é um Java Applet que demonstra como criar um simples
-
o player de mídia com um ouvinte de evento de mídia.
- <!-- Sample HTML
-
–>
*/
[/color]
public class TypicalPlayerApplet extends JApplet implements
ControllerListener
{private static final long serialVersionUID = 1L;
Player player = null;
JPanel jContentPane = null;
[color=green] //componente no qual vídeo está rodando[/color]
Component visualComponent = null;
[color=green] //ganho de controles, posição, começo, parada,[color]
Component controlComponent = null;
[color=green] //exibições progridem durante download[/color]
Component progressBar = null;
public void init()
{
setLayout(new BorderLayout());
String mediaFile = null;
URL mediaURL = null;
URL codeBase = getDocumentBase();
if ((mediaFile = getParameter("Shipuuden.AVI")) == null)
Fatal("Invalid media file parameter");
try
{
[color=green] //Crie um url do nome de arquivo e o url para o documento que contém este applet.[/color]
if ((mediaURL = new URL(codeBase, mediaFile)) == null)
Fatal("Can't build URL for " + mediaFile);
[color=green] //Crie uma intancia de um player para esta mídia[/color]
if ((player = Manager.createPlayer(mediaURL)) == null)
Fatal("Could not create player for "+mediaURL);
player.addControllerListener(this);
}
catch (MalformedURLException u)
{
Fatal("Invalid media file URL!");
}
catch(IOException i)
{
Fatal("IO exception creating player for "+mediaURL);
}
catch (NoPlayerException e)
{
Fatal("NoPlayerException "+ mediaURL);
}
}
public void start()
{
[color=green] //Chama o start () para prefetch e começa o player.[/color]
player.start();
}
public void stop()
{
if (player != null)
{
player.stop();
player.deallocate();
}
}
[color=darkblue] /**
* Esta função de controllerUpdate deve ser definida para implementar uma interface de ControllerListener.
* Esta função será chamada sempre que há um evento de mídia.
*/[/color]
public synchronized void controllerUpdate(ControllerEvent event)
{
if (player == null) return;
if (event instanceof RealizeCompleteEvent)
{
if ((visualComponent = player.getVisualComponent()) != null)
add("Center", visualComponent);
if ((controlComponent = player.getControlPanelComponent()) != null)
add("South",controlComponent);
validate();
}
else if (event instanceof CachingControlEvent)
{
[color=green] //Poem uma barra de progresso para cima ao carregar começos.[/color]
CachingControlEvent e = (CachingControlEvent) event;
CachingControl cc = e.getCachingControl();
long cc_progress = e.getContentProgress();
long cc_length = cc.getContentLength();
[color=green] // adiciona a barra se ela não ja estiver em seu lugar[/color]
if (progressBar == null)
if ((progressBar = cc.getProgressBarComponent()) != null)
{
add("North", progressBar);
validate();
}
[color=green] //Remova a barra quando terminar de carregar [/color]
if (progressBar != null)
if (cc_progress == cc_length)
{
remove (progressBar);
progressBar = null;
validate();
}
}
else if (event instanceof EndOfMediaEvent)
{
[color=green] //quando chegar ao fim, recomeça.[/color]
player.setMediaTime(new Time(0));
player.start();
}
else if (event instanceof ControllerErrorEvent)
{
// Tell TypicalPlayerApplet.start() to call it a day
player = null;
Fatal (((ControllerErrorEvent)event).getMessage());
}
}
void Fatal (String s)
{
[color=green] //Aplicações farão várias escolhas sobre o que fazer aqui. Irá imprimir uma mensagem e então saída[/color]
System.err.println("FATAL ERROR: " + s);
throw new Error(s); //Invoque a exceção de uncaught manipulador System.exit () é outro escolhido
}
}
Esou aberto a sugestões…
Obrigado pela atenção!