我可以使用Java媒体框架播放.mpg格式的视频。但我不能播放所有格式的视频。当我想播放.AVI格式的视频时,视频正在播放,但没有声音。如何播放其他格式,如FLV,mp4,avi?
public class MediaPanel extends JPanel
{
public Player mediaPlayer;
public Component video;
public Component controls;
public MediaPanel(URL mediaURl)
{
setLayout(new BorderLayout());
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
try
{
//Player
// this. mediaPlayer.stop();
//this.mediaPlayer.close();
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 noPlayerException)
{
System.err.println("No media");
}
catch(CannotRealizeException cannotRealizeException)
{
System.err.println("Could not");
}
catch(IOException iOException)
{
System.err.println("Error");
}
}}
您需要为相关编码添加服务提供商接口。 例如 JMF 为 MP3 提供了一个 SPI,可以将其添加到应用程序的运行时类路径中,以允许它使用 Java Sound 读取 MP3。