2012-05-01 145 views
0

我可以用Java媒体框架播放.mpg格式的视频。 但我无法播放所有格式的视频。 当我想播放.AVI格式的视频时,视频播放但声音未到。 如何播放其他格式,如FLV,MP4,AVI?如何在JAVA中播放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

您可能错过了一个编解码器。 http://stackoverflow.com/questions/4089997/how-to-play-avi-files-with-jmf –

+0

考虑使用http://code.google.com/p/vlcj/ – Jayan

回答

1

您需要为有问题的编码添加Service Provider Interface。例如。 JMF为MP3提供了一个SPI,可以添加到应用程序的运行时类路径中。允许它使用Java Sound读取MP3。