2012-05-01 144 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。