加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在javafx应用程序中使用HTML5视频标记

发布时间:2020-12-15 08:46:44 所属栏目:Java 来源:网络整理
导读:我有一个简单的 javaFX应用程序,它在WebView组件中加载一个网页. StackPane root = new StackPane();Scene scene = new Scene(root,80,20);browser = new WebView();webEngine = browser.getEngine();webEngine.load("test.html");root.getChildren().add(br
我有一个简单的 javaFX应用程序,它在WebView组件中加载一个网页.

StackPane root = new StackPane();
Scene scene = new Scene(root,80,20);
browser = new WebView();
webEngine = browser.getEngine();

webEngine.load("test.html");
root.getChildren().add(browser);
jfxPanel.setScene(scene);

这很好,可以看到test.html.问题在于页面上的HTML5视频.

<video width="320" height="240" controls="controls">
    <source src="http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv" type="video/ogg" />
    Your browser does not support the video tag.
</video>

该页面适用于Chrome 16,但在java应用程序中,您只能看到控件,单击“播放”不会执行任何操作.我假设WebEngine允许HTML5作为控件出现,文本在< video>< / video>内.标签不输出.

有人能说清楚我做错了吗?

解决方法

您遇到了编解码器问题.

从JavaFX FAQ question 7开始,JavaFX(从2.0.2开始)仅支持使用on2 vp6 codec编码的flv视频.

为将来的版本安排了额外的编解码器支持.相关的功能请求是RT-18296(需要登录,但任何人都可以注册查看JavaFX问题数据库并创建功能请求,投票选择问题或发表评论).

相关的StackOverflow问题提供了summary of considerations for playing video in JavaFX 2.1(包括JavaFX WebView).

要在JavaFX WebEngine中演示html5视频标记和视频播放,请运行以下代码,该代码播放Oracle提供的vp6编码视频.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class WebViewVideo extends Application {
  public static void main(String[] args) { Application.launch(args); }
  @Override public void start(Stage primaryStage) {
    WebView root = new WebView();
    root.getEngine().loadContent(
      "<video width='320' height='240'controls='controls'>" +
        "<source src='http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv'/>" + 
        "Your browser does not support the video tag." + 
      "</video>");
    primaryStage.setScene(new Scene(root,340,260));
    primaryStage.show();
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读