2012-01-17 2 views
3

WebView 구성 요소에 웹 페이지를로드하는 간단한 javaFX 응용 프로그램이 있습니다.javafx 응용 프로그램에서 HTML5 비디오 태그 사용

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 응용 프로그램에서는 컨트롤을 볼 수만 있고 클릭 재생은 아무 것도하지 않습니다. 컨트롤이 나타나고 <video></video> 태그 안의 텍스트가 출력되지 않으면 WebEngine에서 HTML5를 사용할 수 있다고 가정합니다.

내가 뭘 잘못했는지 밝힐 수 있습니까?

+0

다른 코덱으로 두 번째 소스를 제공하십시오. 사용 된 코덱은 지원되지 않을 수 있습니다. –

+0

나는 여러 가지 비디오를 시도했는데, 모두 같은 종류의 비디오를 동일한 결과로 보았습니다. 하나 시도해 보겠지 만 코덱 문제를 확신하지는 않습니다. –

답변

7

코덱 문제가 있습니다.

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(); 
    } 
} 
+0

그 해명을 가져 주셔서 감사합니다! –

+0

그럼 JavaFX가 실제로 HTML5를 지원하지 않는다고 말하는 것이 안전하다고 생각합니다. HTML5 자체는 JavaFX가 지원할 수있는 코덱이 아니라 OS를 지원해야합니다. 다행스럽게도 JavaFX 2.1 에서처럼 H.264 (MP4) 비디오가 지원되므로 상황이 훨씬 어려워집니다. :) – Glstunna

+0

동영상 태그에서 루프 속성을 사용할 수 있습니까? 루프 속성을 사용할 때 그것은 루프되지 않습니다 : ( – Someone13

관련 문제