Proprio ora sul libro ho ricopiato un esempio con le Java Media Framework:
codice:
import java.awt.BorderLayout;
import java.awt.Component;
import java.io.IOException;
import java.net.URL;
import javax.media.CannotRealizeException;
import javax.media.NoPlayerException;
import javax.media.Manager;
import javax.media.Player;
import javax.swing.JPanel;
public class MediaPanel extends JPanel
{
public MediaPanel (URL mediaURL)
{
setLayout (new BorderLayout());
Manager.setHint (Manager.LIGHTWEIGHT_RENDERER, true);
try
{
Player mediaPlayer = Manager.createRealizedPlayer (mediaURL);
Component video = mediaPlayer.getVisualComponent();
Component controls = mediaPlayer.getControlPanelComponent();
if (video != null)
add (video, BorderLayout.CENTER);
if (controls != null)
add (controls, BorderLayout.SOUTH);
mediaPlayer.start();
}
catch (NoPlayerException exception)
{
System.err.println ("Non e' stato trovato un riproduttore multimediale");
}
catch (CannotRealizeException exception)
{
System.err.println ("Errore riproduttore multimediale");
}
catch (IOException exception)
{
System.err.println ("Errore durante la lettura");
}
}
}
codice:
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
public class MediaTest
{
public static void main (String[] args)
{
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog (null);
if (result == JFileChooser.APPROVE_OPTION)
{
URL mediaURL = null;
try
{
mediaURL = fileChooser.getSelectedFile().toURL();
}
catch (MalformedURLException exception)
{
System.err.println ("L'URL potrebbe non essersi creato per il file");
}
if (mediaURL != null)
{
JFrame mediaTest = new JFrame ("Media Tester");
mediaTest.setSize (300, 300);
mediaTest.setLocationRelativeTo (null);
mediaTest.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
mediaTest.add (new MediaPanel (mediaURL));
mediaTest.setVisible (true);
}
}
}
}
Mi dice di ricompilare con -Xlint perchè ha trovato qualcosa di deprecato, infatti compilando con -Xlint mi trova questa riga come deprecata: mediaURL = fileChooser.getSelectedFile().toURL();
Dicendomi che il metodo toURL è deprecato o_O Essendo un warning riesco comunque ad avviare e ad eseguire correttamente il programma. Ma è normale un warning del genere? C'è modo per evitarlo?