我可以使用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");
}
}}
答案 0 :(得分:1)
您需要为相关编码添加Service Provider Interface。例如。 JMF提供了一个用于MP3的SPI,可以添加到应用程序的运行时类路径中。允许它使用Java Sound读取MP3。