gpt4 book ai didi

java - 在 JavaFX8 中播放视频

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:46:14 25 4
gpt4 key购买 nike

我是 JavaFX 的新手,我目前正在使用一个在应用程序开头播放视频 (.MP4) 的应用程序,但是,我似乎无法让它工作!请告诉我我的代码有什么问题:

import java.io.File;
import javafx.geometry.Pos;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.text.Text;

public class NoConnection {

private StackPane root;

public NoConnection(){
Media media = null;
try{
File video = new File("video.mp4");
String url = video.toURI().toURL().toString();
System.out.println("URL: "+url);
media = new Media(url);
}catch(Exception e){
System.err.println(e.toString());
}
MediaPlayer player = new MediaPlayer(media);
player.play();
MediaView mediaView = new MediaView(player);

root = new StackPane();
root.setAlignment(Pos.CENTER);
root.setStyle("-fx-background-color : white;");
root.getChildren().add(mediaView);
}

public StackPane getLayout(){
return root;
}

}

顺便说一下,我运行的是 Windows XP!

这是完整的错误:

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292)
at com.sun.javafx.application.PlatformImpl$$Lambda$48/11461388.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291)
at com.sun.javafx.application.PlatformImpl$$Lambda$46/31501478.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102)
at com.sun.glass.ui.win.WinApplication$$Lambda$38/29531133.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)

最佳答案

这就是所有要做的事情:用这段代码创建一个 java 类:

public class VideoTest extends Application {

public static void main(String[] args) {
Application.launch(args);
}

@Override
public void start(Stage primaryStage) {

StackPane root = new StackPane();

MediaPlayer player = new MediaPlayer( new Media(getClass().getResource("video.mp4").toExternalForm()));
MediaView mediaView = new MediaView(player);

root.getChildren().add( mediaView);

Scene scene = new Scene(root, 1024, 768);

primaryStage.setScene(scene);
primaryStage.show();


player.play();

}

}

并将 video.mp4 放入同一个文件夹中。启动它。视频应该可以播放。

顺便说一句,我使用您的代码遇到了一个找不到文件的异常。并且不再支持 Windows XP。既不是甲骨文也不是微软。如果这个简单的代码不起作用,则说明您遇到了另一个问题。

关于java - 在 JavaFX8 中播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29071112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com