Dar*_*ohn 5 java javafx media-player javafx-2
我正在尝试在javafx2中运行flv文件.我的代码如下:
Media media = new Media("file:///C:/Users/Darren/workspace/player/src/player/football.flv");
MediaPlayer player = new MediaPlayer(media);
MediaView view = new MediaView(player);
root.getChildren().add(view);
Scene scene = new Scene(root, 400, 400, Color.BLACK);
stage.setScene(scene);
stage.show();
player.play();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Caused by: MediaException: MEDIA_UNAVAILABLE : C:\Users\Darren\workspace\player\src\player\football.flv (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)
我在这里查看了类似的帖子.我还尝试将视频文件存储在不同的地方,并尝试了大量不同的访问方式.
该文件的路径是:
C:\Users\Darren\workspace\player\src\player
我错过了这里明显的一切吗?
使用文件路径时,使用总是一个好主意getClass().getResource("/PATH/RELATIVE/TO/SRC").toExternalForm()
在这种情况下,您的代码必须如下所示:
\n\nMedia media = new Media(getClass().getResource("/player/football.flv").toExternalForm());\nMediaPlayer player = new MediaPlayer(media);\nplayer.play();\nRun Code Online (Sandbox Code Playgroud)\n\n另外,最好Resources在 src 中保留一个文件夹并隔离其中的文件。像这样的东西:
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Other Packages/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Resources/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Sound/\n. . .\n. . . \nRun Code Online (Sandbox Code Playgroud)\n