JavaFX Webview无法播放YouTube视频错误

3
当我尝试将视频加载到JavaFX Webview中时,当按下播放按钮时,YouTube会显示错误消息,内容为“发生错误,请稍后再试”。
我有以下代码:
private void change(final Pattern pattern) {
    nameLabel.setText(pattern.getName());
    final WebEngine engine = view.getEngine();
    final String code = "YME_DYsmBpY";
    engine.load("http://www.youtube.com/embed/" + code + "?rel=0;3&autohide=1&showinfo=0");
}

WebView(视图)是在FXML中创建的,不在此方法之外使用。

任何帮助将不胜感激!:)

2个回答

0

尽管在早期的JavaFX版本中使用JavaFX播放YouTube视频是可行的,但我不认为它在当前JavaFX版本(8u25)的所有平台上都能正常工作。

请参阅相关的错误报告:

上述错误报告针对Windows 7进行了记录。

我尝试了我的旧解决方案:

此解决方案的代码在链接的问题中,并且与您的问题中的代码非常相似。

此解决方案使用嵌入式WebView控件运行YouTube播放视频。 在OS X 10.9,Java 8u20上可以正常工作。 程序输出到控制台奇怪的消息:“检测到未完成的资源锁定”,如RT-35062所述,但除此之外似乎执行良好并且正常显示视频。 因此,我想RT-35062中引用的潜在JVM崩溃是特定于环境的。


-1
我很确定 YouTube 嵌入式 URL 无法像那样加载到 WebView 中...
尝试使用 iframe 标记(您可以在大多数视频的常规 YouTube 页面上获得示例),然后调用 engine.loadContent()。例如:
engine.loadContent("<html><body><iframe width=\"1000\" height=\"500\" " +
            "src=\"http://www.youtube.com/embed/" + code + "?rel=0;3&amp;autohide=1&amp;showinfo=0\" frameborder=\"0\" ></iframe></body></html>");

我还没有测试上面的代码片段,但除了字符串字面值中可能有一两个错别字外,我预计它能够正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接