当前位置: 首页 > 面试题库 >

是否有任何简单(且最新)的Java框架将影片嵌入Swing应用程序中?

公冶元青
2023-03-14
问题内容

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

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

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

提前谢谢了。


问题答案:

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

  1. 从Jdk7u4开始,JavaFX与Mac和Windows(XP,Vista,7、32和64位)的jdk捆绑在一起。
  2. JavaFX可以嵌入到Swing应用程序中。
  3. JavaFX包含本机库,但是任何Java框架都需要本机库才能很好地处理视频。
  4. JavaFX SDK附带了一个全面的部署工具包,并且/或者包括了生成基于jnlp的部署的功能。
  5. JavaFX 2.1支持vp6编码的flv(旧格式)以及一些更现代和常用的编码格式,例如mp4 / aac / mp3。
  6. JavaFX仅支持有限的媒体编解码器和容器格式,例如,如果您在计算机上安装了编解码器,并且可以在chrome,Windows Media Player或Flash中播放以该格式编码的文件,则该文件不能保证同一文件会在JavaFX中玩。
  7. 在XP或Linux上播放mp4要求用户手动安装必要的编解码器,但其他平台(osx,win7,vista)不需要手动安装mp4编解码器。
  8. 在Mac上使用JavaFX要求用户使用Mac的OpenJDK 7,而不是Apple JDK
  9. 直到今年下半年(2012年)才会对Mac上的jnlp启动的应用程序提供JavaFX支持,而Linux同样如此。
  10. 您可能会在jnlp中将整个JavaFX平台与您的应用程序捆绑在一起(尽管我还没有看到有人这样做)。
  11. 对于jnlp部署,推荐的方法是在jnlp中添加最低JavaFX环境的规范,并让JavaFX部署工具包和webstart负责确保它已经存在并正确安装在用户的计算机上。
  12. Swing和JavaFX之间的交互要求在线程方面带来一些不便和关心,并且Swing和JavaFX之间的应用程序启动代码也略有不同。有些人在论坛上对此有所抱怨,大多数似乎没有太多问题。
  13. 不管是好是坏(我相信更好),JavaFX可能是Oracle唯一正在接受正在进行的主要开发和新功能的媒体和客户端开发框架。
  14. 最终(今年或明年),JavaFX将包含在所有新的Java运行时中,这些运行时适用于运行Java SE现代版本的所有主要消费者平台。
  15. 甲骨文和第三方对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();
  }
}


 类似资料:
  • 问题内容: 哪个是Java的最佳框架?我在寻找类似于Symfony的php和Ruby-Rails的Ruby吗?我什至不知道Java是否存在这样的东西。 问题答案: 有许多很棒的Java Web框架,但是如果您要寻找与Rails类似的东西,请查看Grails。它使用动态语言Groovy,但是使用Java VM。 查看他们的快速入门,确定它是否是您想要的。

  • 我有一个很大的swing应用程序,我想把javafx嵌入其中。我多次尝试这样做(通过遵循oracle教程等),但只有在声明一个新的JFrame以使用JFXPanel组件时才成功。但是,我不想使用新的框架,我想将我的Javafx代码合并到swing应用程序的根JFrame中。 我们可以将javaFX组件嵌入到JPanel而不是JFrame中吗?如果答案是肯定的,为什么我没有成功?

  • 问题内容: 有没有简单的http响应解析器实现?这个想法是将完整的响应作为一个大字符串放入,并能够通过界面检索诸如状态码,正文等内容。 请求/响应不是直接通过TCP / IP发送的,因此除了核心的rfc 2616解析实现外,不需要任何其他操作。 问题答案: 例如,如果使用,则会得到一个Java响应对象,可用于提取标头或消息正文。考虑以下示例 如果您只想解析响应,则也许会有用: 抽象消息解析器旨在从

  • 问题内容: Java中是否有CRUD生成器实用程序,例如Rails中的Scaffolding?可以在任何框架中,甚至可以在普通servlet中。必须在jsp中生成控制器+视图,而不仅仅是DAO代码… 问题答案: Spring Roo 似乎正是您要寻找的东西:CRUD代码生成,吐出纯Java代码,可以使它们完全独立于框架运行。

  • 问题内容: 我想知道如何在Java中的Swing应用程序中添加时间延迟,我使用,并且我也使用了SwingWorker,但是它不起作用。这是我的代码的一部分: 我希望您在使用SwingWorker时能帮助我或解决我的疑问。 问题答案: 这是一个使用

  • 问题内容: 我正在尝试着用Java开发一个相对快速的Web应用程序,但是我尝试过的大多数框架(Apache Wicket,Liftweb)都需要大量的设置,配置和尝试,在使整个过程与Eclipse融为一体的同时,全神贯注于Maven,我整个周末都在试图写我的第一行代码! 谁能推荐一个简单的Java Webapp框架,它不涉及Maven,难以置信的复杂目录结构或无数必须手动编辑的XML文件? 问题答