用于在Swing应用程序中嵌入电影的任何简单(和最新)Java框架?

tot*_*ise 5 java swing jmf

我正在构建一个小型Swing应用程序,我想在其中嵌入一部电影.重要的是,这个应用程序是一个WebStart应用程序 - 该库应该能够打包在我启动的jnlp中,而不依赖于本机库.

我知道并尝试过JMF,但与其他框架相比,我认为格式兼容性相对较差.

有人可以使用他们推荐的库提供简单实现的示例代码片段吗?

提前谢谢了.

jew*_*sea 28

JavaFX作为基于Java的媒体播放框架的解决方案的一些注意事项.

  1. 从Jdk7u4开始,JavaFX与用于Mac和Windows的jdk(XP,Vista,7,32和64位)共同捆绑在一起.
  2. JavaFX可以嵌入到Swing应用程序中.
  3. JavaFX包含本机库,但任何Java Framework都需要本机库才能很好地完成视频.
  4. JavaFX SDK包含一个全面的部署工具包和/或包括生成基于jnlp的部署的功能.
  5. JavaFX 2.1支持vp6编码的flvs(旧格式)以及一些更现代和常用的编码格式,如mp4/aac/mp3.
  6. JavaFX仅支持有限的媒体编解码器和容器格式,例如,如果您的计算机上安装了编解码器,并且可以播放以该格式编码的文件,例如Chrome,Windows媒体播放器或不保证同一文件将使用的闪存在JavaFX中玩.
  7. 在XP或Linux上播放mp4需要用户手动安装必要的编解码器,但其他平台(osx,win7,vista)不需要手动安装mp4编解码器.
  8. 在Mac上使用JavaFX要求用户使用OpenJDK 7 for Mac,而不是Apple JDK.
  9. JavaFX对Mac上的jnlp启动应用程序的支持将在今年晚些时候(2012年)推出,并且类似于Linux.
  10. 您可以将整个JavaFX平台与您的应用程序捆绑在一个jnlp中(虽然我还没有看到任何人这样做).
  11. jnlp部署的推荐方法是将最小JavaFX环境的规范添加到jnlp,并让JavaFX部署工具包和webstart负责确保它在用户的计算机上存在并正确安装.
  12. Swing和JavaFX之间的交互需要一些不便和关心线程,以及在Swing和JavaFX之间稍微不同的应用程序启动代码.有些人在论坛上抱怨这个,大多数似乎没有太多问题.
  13. 无论好坏(我相信更好),JavaFX可能是Oracle唯一正在接受持续主要开发和新功能的媒体和客户端开发框架.
  14. 最终(今年或下一年)JavaFX将包含在运行现代版Java SE的所有主要消费者平台的所有新Java运行时中.
  15. Oracle和第三方对JavaFX开发的社区支持(我相信)很好.

这是一个播放视频的示例JavaFX应用程序:

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.media.*;
import javafx.stage.Stage;

public class VideoPlayerExample extends Application {
  public static void main(String[] args) throws Exception { launch(args); }
  @Override public void start(final Stage stage) throws Exception {
    final MediaPlayer oracleVid = new MediaPlayer(
      new Media("http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv")
    );
    stage.setScene(new Scene(new Group(new MediaView(oracleVid)), 540, 208));
    stage.show();

    oracleVid.play();
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 全面总结***和***代码示例?那就是"走得更远".:) (2认同)