Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在eclipse中用javafx制作视频播放器_Java_Eclipse_Javafx_Video_Javafx 8 - Fatal编程技术网

如何在eclipse中用javafx制作视频播放器

如何在eclipse中用javafx制作视频播放器,java,eclipse,javafx,video,javafx-8,Java,Eclipse,Javafx,Video,Javafx 8,我正在尝试在eclipse中使用javafx创建一个视频播放器。我从05:00:33开始按照youtube视频(url:)中显示的步骤进行操作 但是在编译时,我在start方法中遇到了一个异常 Main.java package application; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; import javafx.scene.Par

我正在尝试在eclipse中使用javafx创建一个视频播放器。我从05:00:33开始按照youtube视频(url:)中显示的步骤进行操作

但是在编译时,我在start方法中遇到了一个异常

Main.java

package application;


import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;


public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {

            Parent root = FXMLLoader.load(getClass().getResource("/application/Main.fxml"));
            Scene scene = new Scene(root,852,280,Color.BLACK);
        //scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setTitle("VideoGenic");
            primaryStage.setScene(scene);
            primaryStage.show();

    }

    public static void main(String[] args) {
        launch(args);
    }
}
以下是控制器程序

Controller.java

package application;

import java.io.File;
import java.net.URL;
import java.util.ResourceBundle;


import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;

public class Controller implements Initializable {

    @FXML private MediaView mv;
    private MediaPlayer mp;
    private Media me;

    @Override
    public void initialize(URL location, ResourceBundle resources) {


        String path = new File("application/src/media/vid1.mkv").getAbsolutePath();
        me = new Media(new File(path).toURI().toString());
        mp = new MediaPlayer(me);
        mv.setMediaPlayer(mp);


    }
}
这是fxml文件

Main.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.media.MediaView?>

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
   <center>
      <MediaView id="mv" fitHeight="200.0" fitWidth="200.0" BorderPane.alignment="CENTER" />
   </center>
</BorderPane>

这就是我犯的错误。 任何帮助都将不胜感激。谢谢


error:
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$1(LauncherImpl.java:182)
    at java.lang.Thread.run(Unknown Source)
Caused by: javafx.fxml.LoadException: 
/C:/Users/Maha%20Dev/eclipse-workspace/VideoGenic%20MediaPlayer/bin/application/Main.fxml

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
    at application.Main.start(Main.java:16)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
    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$3(WinApplication.java:177)
    ... 1 more
Caused by: MediaException: MEDIA_UNAVAILABLE : C:\Users\Maha Dev\eclipse-workspace\VideoGenic MediaPlayer\application\src\media\vid1.mkv (The system cannot find the path specified)
    at javafx.scene.media.Media.<init>(Media.java:407)
    at application.Controller.initialize(Controller.java:25)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
    ... 17 more
Exception running application application.Main

错误:
应用程序启动方法中的异常
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于com.sun.javafx.application.LaunchImpl.launchApplicationWithArgs(LaunchImpl.java:389)
位于com.sun.javafx.application.LaunchImpl.launchApplication(LaunchImpl.java:328)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于sun.launcher.launchelper$FXHelper.main(未知源)
原因:java.lang.RuntimeException:应用程序启动方法中的异常
位于com.sun.javafx.application.LaunchImpl.launchApplication1(LaunchImpl.java:917)
在com.sun.javafx.application.launchempl.lambda$launchApplication$1(launchempl.java:182)
位于java.lang.Thread.run(未知源)
原因:javafx.fxml.LoadException:
/C:/Users/Maha%20Dev/eclipse workspace/VideoGenic%20MediaPlayer/bin/application/Main.fxml
位于javafx.fxml.fxmloader.constructLoadException(fxmloader.java:2601)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:2579)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:2441)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:3214)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:3175)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:3148)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:3124)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:3104)
在javafx.fxml.fxmloader.load(fxmloader.java:3097)
在application.Main.start处(Main.java:16)
在com.sun.javafx.application.launchempl.lambda$launchApplication1$8(launchempl.java:863)
位于com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
位于com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
位于com.sun.glass.ui.invokelateDispatcher$Future.run(invokelateDispatcher.java:95)
在com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法)
位于com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
... 还有一个
原因:MediaException:MEDIA\u不可用:C:\Users\Maha Dev\eclipse workspace\VideoGenic MediaPlayer\application\src\MEDIA\vid1.mkv(系统找不到指定的路径)
在javafx.scene.media.media.(media.java:407)
初始化(Controller.java:25)
在javafx.fxml.fxmloader.loadImpl(fxmloader.java:2548)
... 还有17个
运行应用程序application.Main时出现异常

异常消息非常清楚-
媒体\u不可用:C:\Users\Maha Dev\eclipse workspace\VideoGenic MediaPlayer\application\src\MEDIA\vid1.mkv
-它找不到您的mkv文件。更正程序中的路径。我尝试用我知道的所有可能的方式更正它。它显示:原因:MediaException:MEDIA\u不支持:无法识别的文件签名!或者类似的原因:MediaException:MEDIA\u不可用:C:\Users\Maha Dev\eclipse workspace\VideoGenic MediaPlayer\src\MEDIA\vid.mkv(系统找不到指定的文件),我还尝试使用.mp4视频文件。同样的问题