我一直在寻找一段将视频嵌入Java Swing GUI的简单方法。我追风吗?理想情况下,我希望有类似的东西:
VideoPlayer video = new VideoPlayer("filename");
frame.getContentPane().add(video);
video.play();
我在寻找不存在的东西吗?我主要针对Linux进行开发,但考虑到Windows,因为我可能会尝试在未来使用我的应用程序。
附加信息:
答案 0 :(得分:7)
我不知道您为什么认为需要大量代码才能使用JMF。
public class mediaPlayer extends JFrame
{
public mediaPlayer()
{
setLayout(new BorderLayout());
//file you want to play
URL mediaURL = //Whatever
//create the media player with the media url
Player mediaPlayer = Manager.createRealizedPlayer(mediaURL);
//get components for video and playback controls
Component video = mediaPlayer.getVisualComponent();
Component controls = mediaPlayer.getControlPanelComponent();
add(video,BorderLayout.CENTER);
add(controls,BorderLayout.SOUTH);
}
}
一个像6行一样的完整媒体播放器,prob可以用更少的东西完成它。如果你需要的只是基本的东西,那么id就是JMF。
正如Zemzela所说,Xuggle也是一个很好的解决方案,但需要更多的工作。
还有Java绑定VLC。 Click Here
答案 1 :(得分:3)
您可以使用 xuggle 。这是他们的网站http://www.xuggle.com/。我用它来显示avi(divx)并且工作“很好”。 JMF在与xuggle的比较中有点慢。 java中的问题是你不能准确地同步Windows上的每一帧因为Thread.sleep(30)没有精确地睡眠30毫秒,并且在Windows操作系统中睡眠的最小值是16毫秒所以你不能将它调到大约30毫秒。在Linux上应该更准确地工作,我认为最小睡眠时间是1毫秒。